From e9d7692bcd5b159d31aeae0783e48ebbf6bccffa Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Sat, 14 Mar 2026 04:06:09 -0700 Subject: [PATCH 01/10] [E] Upgrade to PG18, Ruby 3.4.9 * Use Valkey 8 images instead of Redis in docker compose, since that's what we're running when deployed * Use pgautoupgrade image for future upgrade tasks --- .github/workflows/ci.yml | 10 +-- Dockerfile | 6 +- Gemfile | 2 +- Gemfile.lock | 2 +- bin/console | 2 +- bin/dbconsole | 2 +- bin/shell | 3 + .../20260314094207_clean_up_database.rb | 44 +++++++++++++ db/structure.sql | 38 +++-------- docker-compose.yml | 14 ++-- docker/production/Dockerfile | 6 +- lib/tasks/db.rake | 65 +++++++++++++++++++ mise.toml | 2 +- 13 files changed, 140 insertions(+), 56 deletions(-) create mode 100755 bin/shell create mode 100644 db/migrate/20260314094207_clean_up_database.rb create mode 100644 lib/tasks/db.rake diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f17af7ff..ddb036a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,13 +21,13 @@ jobs: version: 1.0 - name: "Checkout code" - uses: actions/checkout@v1 + uses: actions/checkout@v6 - name: "Install Ruby" uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 3.4.7 + ruby-version: 3.4.9 - name: "Run Rubocop" env: @@ -43,7 +43,7 @@ jobs: services: postgres: - image: postgres:15.5-alpine + image: postgres:18.3-alpine ports: ["5432:5432"] env: POSTGRES_USER: postgres @@ -67,13 +67,13 @@ jobs: version: 1.0 - name: "Checkout code" - uses: actions/checkout@v1 + uses: actions/checkout@v6 - name: "Install Ruby" uses: ruby/setup-ruby@v1 with: bundler-cache: true - ruby-version: 3.4.7 + ruby-version: 3.4.9 - name: "Run API specs" env: diff --git a/Dockerfile b/Dockerfile index 1f955ac1..9abcf863 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN --mount=type=secret,id=maxmind_account_id \ GEOIPUPDATE_LICENSE_KEY_FILE=/run/secrets/maxmind_license_key \ /usr/bin/geoipupdate -FROM ruby:3.4.7-bookworm +FROM ruby:3.4.9-bookworm ENV DEBIAN_FRONTEND=noninteractive @@ -31,9 +31,9 @@ RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \ RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y -RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends postgresql-client-15 +RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends postgresql-client-18 -RUN gem update --system && gem install bundler:2.7.2 +RUN gem update --system && gem install bundler:4.0.7 ENV BUNDLE_PATH=/bundle \ BUNDLE_BIN=/bundle/bin \ diff --git a/Gemfile b/Gemfile index ccfa6f8a..cd557909 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" -ruby "3.4.7" +ruby "3.4.9" # stdlib gem "csv", "~> 3.3.5" diff --git a/Gemfile.lock b/Gemfile.lock index ad6d2463..12cbb55b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1037,7 +1037,7 @@ DEPENDENCIES zaru (~> 1.0.0) RUBY VERSION - ruby 3.4.7p58 + ruby 3.4.9 BUNDLED WITH 4.0.7 diff --git a/bin/console b/bin/console index 01e6c729..175cb5b3 100755 --- a/bin/console +++ b/bin/console @@ -1,3 +1,3 @@ #!/usr/bin/env bash -exec docker-compose exec web bin/rails console +exec docker-compose run --rm -i --no-deps web bin/rails console diff --git a/bin/dbconsole b/bin/dbconsole index c9b1a42c..ed05e018 100755 --- a/bin/dbconsole +++ b/bin/dbconsole @@ -1,3 +1,3 @@ #!/usr/bin/env bash -docker-compose exec web bin/rails dbconsole -p +docker-compose run --rm -i --no-deps web bin/rails dbconsole -p diff --git a/bin/shell b/bin/shell new file mode 100755 index 00000000..9e43bdfb --- /dev/null +++ b/bin/shell @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +exec docker-compose run --rm -i --no-deps web bash diff --git a/db/migrate/20260314094207_clean_up_database.rb b/db/migrate/20260314094207_clean_up_database.rb new file mode 100644 index 00000000..12038265 --- /dev/null +++ b/db/migrate/20260314094207_clean_up_database.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +# Remove a number of unused functions from the early days of Meru experimentation +# and get things ready for Postgres 18. +# +# There's a logic error in the `>` operator for variable precision dates, commutator and negator are swapped. +class CleanUpDatabase < ActiveRecord::Migration[7.2] + def up + execute <<~SQL + DROP AGGREGATE IF EXISTS jsonb_bool_or(boolean, text[]); + + DROP FUNCTION IF EXISTS jsonb_bool_or_rec(jsonb, boolean, text[]); + + DROP AGGREGATE IF EXISTS public.max(public.variable_precision_date); + + DROP OPERATOR IF EXISTS public.> (public.variable_precision_date, public.variable_precision_date); + + CREATE OPERATOR public.> ( + FUNCTION = public.vpdate_gt, + LEFTARG = public.variable_precision_date, + RIGHTARG = public.variable_precision_date, + COMMUTATOR = OPERATOR(public.<), + NEGATOR = OPERATOR(public.<=), + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel + ); + + CREATE AGGREGATE public.max(public.variable_precision_date) ( + SFUNC = public.vpd_greatest, + STYPE = public.variable_precision_date, + FINALFUNC = public.vpdate_nullif_none, + MSFUNC = public.vpd_greatest, + MINVFUNC = public.vpd_least, + MSTYPE = public.variable_precision_date, + SORTOP = OPERATOR(public.>), + PARALLEL = safe + ); + SQL + end + + def down + # Intentionally left blank. These fixes are not intended to be rolled back. + end +end diff --git a/db/structure.sql b/db/structure.sql index 30b0b2db..d38b7296 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -1,6 +1,7 @@ SET statement_timeout = 0; SET lock_timeout = 0; SET idle_in_transaction_session_timeout = 0; +SET transaction_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SELECT pg_catalog.set_config('search_path', '', false); @@ -1723,17 +1724,6 @@ SELECT $1 IS NOT NULL AND $1 <> 'none'; $_$; --- --- Name: jsonb_bool_or_rec(jsonb, boolean, text[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.jsonb_bool_or_rec(jsonb, boolean, text[]) RETURNS jsonb - LANGUAGE sql IMMUTABLE PARALLEL SAFE - AS $_$ -SELECT public.jsonb_set_rec($1, to_jsonb(public.jsonb_extract_boolean($1, $3) OR $2), $3); -$_$; - - -- -- Name: jsonb_extract_boolean(jsonb, text[]); Type: FUNCTION; Schema: public; Owner: - -- @@ -2963,17 +2953,6 @@ CREATE AGGREGATE public.jsonb_auth_path(public.ltree, boolean) ( ); --- --- Name: jsonb_bool_or(boolean, text[]); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE public.jsonb_bool_or(boolean, text[]) ( - SFUNC = public.jsonb_bool_or_rec, - STYPE = jsonb, - INITCOND = '{}' -); - - -- -- Name: jsonb_set_agg(jsonb, text[]); Type: AGGREGATE; Schema: public; Owner: - -- @@ -2993,8 +2972,8 @@ CREATE OPERATOR public.> ( FUNCTION = public.vpdate_gt, LEFTARG = public.variable_precision_date, RIGHTARG = public.variable_precision_date, - COMMUTATOR = OPERATOR(public.<=), - NEGATOR = OPERATOR(public.<), + COMMUTATOR = OPERATOR(public.<), + NEGATOR = OPERATOR(public.<=), RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); @@ -3024,7 +3003,6 @@ CREATE OPERATOR public.< ( FUNCTION = public.vpdate_lt, LEFTARG = public.variable_precision_date, RIGHTARG = public.variable_precision_date, - COMMUTATOR = OPERATOR(public.>), NEGATOR = OPERATOR(public.>=), RESTRICT = scalarltsel, JOIN = scalarltjoinsel @@ -3206,7 +3184,6 @@ CREATE OPERATOR public.<= ( LEFTARG = public.variable_precision_date, RIGHTARG = public.variable_precision_date, COMMUTATOR = OPERATOR(public.>=), - NEGATOR = OPERATOR(public.>), RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); @@ -5653,8 +5630,8 @@ CREATE VIEW public.harvest_attempt_entity_statuses AS SELECT harvest_attempt_entity_links.harvest_attempt_id, count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) AS total_entities, count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) FILTER (WHERE harvest_attempt_entity_links.assets) AS total_entities_with_assets, - count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) FILTER (WHERE ((deets.current_state)::text <> ALL ((ARRAY['success'::character varying, 'upserted'::character varying])::text[]))) AS total_entities_waiting_for_upsert, - count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) FILTER (WHERE (harvest_attempt_entity_links.assets AND ((deets.current_state)::text <> ALL ((ARRAY['success'::character varying, 'assets_fetched'::character varying])::text[])))) AS total_entities_waiting_for_assets, + count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) FILTER (WHERE ((deets.current_state)::text <> ALL (ARRAY[('success'::character varying)::text, ('upserted'::character varying)::text]))) AS total_entities_waiting_for_upsert, + count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) FILTER (WHERE (harvest_attempt_entity_links.assets AND ((deets.current_state)::text <> ALL (ARRAY[('success'::character varying)::text, ('assets_fetched'::character varying)::text])))) AS total_entities_waiting_for_assets, count(DISTINCT harvest_attempt_entity_links.harvest_entity_id) FILTER (WHERE ((deets.current_state)::text = 'success'::text)) AS total_entities_success, jsonb_build_object('min', min(harvest_attempt_entity_links.upsert_duration) FILTER (WHERE (harvest_attempt_entity_links.upsert_duration <> 0.0)), 'max', max(harvest_attempt_entity_links.upsert_duration) FILTER (WHERE (harvest_attempt_entity_links.upsert_duration <> 0.0)), 'avg', avg(harvest_attempt_entity_links.upsert_duration) FILTER (WHERE (harvest_attempt_entity_links.upsert_duration <> 0.0)), 'stddev', stddev_samp(harvest_attempt_entity_links.upsert_duration) FILTER (WHERE (harvest_attempt_entity_links.upsert_duration <> 0.0)), 'sum', sum(harvest_attempt_entity_links.upsert_duration) FILTER (WHERE (harvest_attempt_entity_links.upsert_duration <> 0.0))) AS upsert_stats, jsonb_build_object('min', min(harvest_attempt_entity_links.assets_duration) FILTER (WHERE (harvest_attempt_entity_links.assets AND (harvest_attempt_entity_links.assets_duration <> 0.0))), 'max', max(harvest_attempt_entity_links.assets_duration) FILTER (WHERE (harvest_attempt_entity_links.assets AND (harvest_attempt_entity_links.assets_duration <> 0.0))), 'avg', avg(harvest_attempt_entity_links.assets_duration) FILTER (WHERE (harvest_attempt_entity_links.assets AND (harvest_attempt_entity_links.assets_duration <> 0.0))), 'stddev', stddev_samp(harvest_attempt_entity_links.assets_duration) FILTER (WHERE (harvest_attempt_entity_links.assets AND (harvest_attempt_entity_links.assets_duration <> 0.0))), 'sum', sum(harvest_attempt_entity_links.assets_duration) FILTER (WHERE (harvest_attempt_entity_links.assets AND (harvest_attempt_entity_links.assets_duration <> 0.0)))) AS assets_stats, @@ -5737,8 +5714,8 @@ CREATE VIEW public.harvest_attempt_record_statuses AS WITH stats AS ( SELECT harvest_attempt_record_links.harvest_attempt_id, count(DISTINCT harvest_attempt_record_links.harvest_record_id) AS total_records, - count(DISTINCT harvest_attempt_record_links.harvest_record_id) FILTER (WHERE ((deets.current_state)::text <> ALL ((ARRAY['success'::character varying, 'upserted'::character varying, 'extracted'::character varying])::text[]))) AS total_records_waiting_for_extraction, - count(DISTINCT harvest_attempt_record_links.harvest_record_id) FILTER (WHERE ((deets.current_state)::text <> ALL ((ARRAY['success'::character varying, 'upserted'::character varying])::text[]))) AS total_records_waiting_for_upsert, + count(DISTINCT harvest_attempt_record_links.harvest_record_id) FILTER (WHERE ((deets.current_state)::text <> ALL (ARRAY[('success'::character varying)::text, ('upserted'::character varying)::text, ('extracted'::character varying)::text]))) AS total_records_waiting_for_extraction, + count(DISTINCT harvest_attempt_record_links.harvest_record_id) FILTER (WHERE ((deets.current_state)::text <> ALL (ARRAY[('success'::character varying)::text, ('upserted'::character varying)::text]))) AS total_records_waiting_for_upsert, count(DISTINCT harvest_attempt_record_links.harvest_record_id) FILTER (WHERE ((deets.current_state)::text = 'success'::text)) AS total_records_success, jsonb_build_object('min', min(harvest_attempt_record_links.extraction_duration) FILTER (WHERE (harvest_attempt_record_links.extraction_duration <> 0.0)), 'max', max(harvest_attempt_record_links.extraction_duration) FILTER (WHERE (harvest_attempt_record_links.extraction_duration <> 0.0)), 'avg', avg(harvest_attempt_record_links.extraction_duration) FILTER (WHERE (harvest_attempt_record_links.extraction_duration <> 0.0)), 'stddev', stddev_samp(harvest_attempt_record_links.extraction_duration) FILTER (WHERE (harvest_attempt_record_links.extraction_duration <> 0.0)), 'sum', sum(harvest_attempt_record_links.extraction_duration) FILTER (WHERE (harvest_attempt_record_links.extraction_duration <> 0.0))) AS extraction_stats, stddev_samp(harvest_attempt_record_links.extraction_duration) FILTER (WHERE (harvest_attempt_record_links.extraction_duration <> 0.0)) AS extraction_duration_stddev, @@ -16758,6 +16735,7 @@ ALTER TABLE ONLY public.templates_ordering_instances SET search_path TO "$user", public; INSERT INTO "schema_migrations" (version) VALUES +('20260314094207'), ('20260312201100'), ('20260312195907'), ('20260312162710'), diff --git a/docker-compose.yml b/docker-compose.yml index af98838e..f9a2aa34 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: db: - image: "postgres:15.5-alpine" + image: "pgautoupgrade/pgautoupgrade:18-alpine" command: postgres -c shared_preload_libraries=pg_stat_statements -c pg_stat_statements.track=all shm_size: 2g environment: @@ -13,17 +13,14 @@ services: max-file: "10" restart: unless-stopped volumes: - - postgres-data:/var/lib/postgresql/data + - postgres-data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready", "-U", "postgres"] interval: 10s timeout: 5s retries: 5 redis: - image: bitnami/redis:6.2.7-debian-10-r34 - platform: linux/amd64 - environment: - - "ALLOW_EMPTY_PASSWORD=yes" + image: valkey/valkey:8.0-alpine logging: driver: json-file options: @@ -36,10 +33,7 @@ services: timeout: 5s retries: 5 test-redis: - image: bitnami/redis:6.2.7-debian-10-r34 - platform: linux/amd64 - environment: - - "ALLOW_EMPTY_PASSWORD=yes" + image: valkey/valkey:8.0-alpine logging: driver: json-file options: diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile index b74677b6..f6bd06a2 100644 --- a/docker/production/Dockerfile +++ b/docker/production/Dockerfile @@ -10,7 +10,7 @@ RUN --mount=type=secret,id=maxmind_account_id \ GEOIPUPDATE_LICENSE_KEY_FILE=/run/secrets/maxmind_license_key \ /usr/bin/geoipupdate -FROM ruby:3.4.7-bookworm +FROM ruby:3.4.9-bookworm RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \ build-essential \ @@ -29,7 +29,7 @@ RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \ RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y -RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends postgresql-client-15 +RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends postgresql-client-18 WORKDIR /srv/app @@ -57,7 +57,7 @@ ENV RUBY_GC_HEAP_2_INIT_SLOTS=455808 ENV RUBY_GC_HEAP_3_INIT_SLOTS=19968 ENV RUBY_GC_HEAP_4_INIT_SLOTS=9265 -RUN gem update --system && gem install bundler:2.7.2 +RUN gem update --system && gem install bundler:4.0.7 COPY Gemfile Gemfile.lock ./ diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake new file mode 100644 index 00000000..f450e042 --- /dev/null +++ b/lib/tasks/db.rake @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +namespace :db do + namespace :collation do + desc "Refresh all collations with version mismatches and reindex dependent objects" + task refresh: :environment do + connection = ActiveRecord::Base.connection + + # Find all collations with version mismatches (PG 13+) + stale_collations = connection.select_all(<<~SQL) + SELECT + n.nspname AS schema_name, + c.collname AS collation_name, + c.collversion AS stored_version, + pg_collation_actual_version(c.oid) AS actual_version + FROM pg_collation c + JOIN pg_namespace n ON c.collnamespace = n.oid + WHERE c.collversion IS NOT NULL + AND c.collversion <> pg_collation_actual_version(c.oid) + SQL + + if stale_collations.empty? + puts "✅ All collations are up to date." + next + end + + stale_collations.each do |row| + schema = row["schema_name"] + name = row["collation_name"] + stored = row["stored_version"] + actual = row["actual_version"] + quoted = "#{connection.quote_table_name(schema)}.#{connection.quote_column_name(name)}" + + puts "⚠️ Collation #{quoted}: stored=#{stored}, actual=#{actual}" + + # Find and reindex all indexes that use this collation + dependent_indexes = connection.select_values(<<~SQL) + SELECT DISTINCT indexrelid::regclass::text + FROM pg_index + JOIN pg_depend ON pg_depend.objid = pg_index.indexrelid + WHERE pg_depend.refobjid = ( + SELECT oid FROM pg_collation + WHERE collname = #{connection.quote(name)} + AND collnamespace = (SELECT oid FROM pg_namespace WHERE nspname = #{connection.quote(schema)}) + ) + SQL + + if dependent_indexes.any? + puts " Reindexing #{dependent_indexes.size} dependent index(es)..." + dependent_indexes.each do |idx| + puts " → REINDEX INDEX #{idx}" + connection.execute("REINDEX INDEX #{idx}") + end + else + puts " No dependent indexes found via pg_depend. Running full REINDEX as a safety measure..." + connection.execute("REINDEX DATABASE #{connection.quote_table_name(connection.current_database)}") + end + + puts " → ALTER COLLATION #{quoted} REFRESH VERSION" + connection.execute("ALTER COLLATION #{quoted} REFRESH VERSION") + puts " ✅ Done." + end + end + end +end diff --git a/mise.toml b/mise.toml index 7f64b26f..c502692c 100644 --- a/mise.toml +++ b/mise.toml @@ -1,2 +1,2 @@ [tools] -ruby = "3.4.7" +ruby = "3.4.9" From ee4c906c1e33429583e7c070ceccd636b590bed9 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Sat, 14 Mar 2026 07:31:41 -0700 Subject: [PATCH 02/10] [C] Cull unused / deprecated code --- app/graphql/types/has_harvest_errors_type.rb | 8 +- app/jobs/pilot_harvesting/seed_job.rb | 16 - .../concerns/has_calculated_system_slug.rb | 31 - app/models/concerns/has_harvest_errors.rb | 31 - app/models/harvest_attempt.rb | 1 - app/models/harvest_entity.rb | 1 - app/models/harvest_record.rb | 2 - app/models/pilot_community.rb | 49 - .../api_wrapper/dump_client_schema.rb | 10 - .../api_wrapper/get_admin_wrapper.rb | 19 - app/operations/api_wrapper/get_client.rb | 28 - .../harvesting/attempts/extract_records.rb | 2 - app/operations/password_flow/build_client.rb | 11 - app/operations/password_flow/get_token.rb | 48 - app/operations/pilot_harvesting/seed.rb | 11 - .../pilot_harvesting/upsert_source.rb | 8 - .../harvesting/entities/assets_upserter.rb | 11 - app/services/harvesting/entities/upserter.rb | 2 - app/services/isolated.rb | 17 - .../pilot_harvesting/collection_definition.rb | 45 - .../pilot_harvesting/community_definition.rb | 28 - app/services/pilot_harvesting/harvestable.rb | 136 - .../pilot_harvesting/journal_definition.rb | 14 - app/services/pilot_harvesting/root.rb | 26 - .../pilot_harvesting/series_definition.rb | 10 - .../pilot_harvesting/source_upserter.rb | 153 - app/services/pilot_harvesting/struct.rb | 90 - app/services/pilot_harvesting/types.rb | 12 - .../configs/keycloak_password_flow_config.rb | 74 - lib/frozen_record/pilot_communities.yml | 361 -- lib/tasks/pilot_harvesting.rake | 12 - spec/jobs/pilot_harvesting/seed_job_spec.rb | 7 - spec/rails_helper.rb | 22 +- spec/services/pilot_harvesting/root_spec.rb | 136 - vendor/seeds/uci_units.json | 5554 ----------------- vendor/seeds/ucm_units.json | 2113 ------- 36 files changed, 25 insertions(+), 9074 deletions(-) delete mode 100644 app/jobs/pilot_harvesting/seed_job.rb delete mode 100644 app/models/concerns/has_calculated_system_slug.rb delete mode 100644 app/models/concerns/has_harvest_errors.rb delete mode 100644 app/models/pilot_community.rb delete mode 100644 app/operations/api_wrapper/dump_client_schema.rb delete mode 100644 app/operations/api_wrapper/get_admin_wrapper.rb delete mode 100644 app/operations/api_wrapper/get_client.rb delete mode 100644 app/operations/password_flow/build_client.rb delete mode 100644 app/operations/password_flow/get_token.rb delete mode 100644 app/operations/pilot_harvesting/seed.rb delete mode 100644 app/operations/pilot_harvesting/upsert_source.rb delete mode 100644 app/services/isolated.rb delete mode 100644 app/services/pilot_harvesting/collection_definition.rb delete mode 100644 app/services/pilot_harvesting/community_definition.rb delete mode 100644 app/services/pilot_harvesting/harvestable.rb delete mode 100644 app/services/pilot_harvesting/journal_definition.rb delete mode 100644 app/services/pilot_harvesting/root.rb delete mode 100644 app/services/pilot_harvesting/series_definition.rb delete mode 100644 app/services/pilot_harvesting/source_upserter.rb delete mode 100644 app/services/pilot_harvesting/struct.rb delete mode 100644 app/services/pilot_harvesting/types.rb delete mode 100644 config/configs/keycloak_password_flow_config.rb delete mode 100644 lib/frozen_record/pilot_communities.yml delete mode 100644 lib/tasks/pilot_harvesting.rake delete mode 100644 spec/jobs/pilot_harvesting/seed_job_spec.rb delete mode 100644 spec/services/pilot_harvesting/root_spec.rb delete mode 100644 vendor/seeds/uci_units.json delete mode 100644 vendor/seeds/ucm_units.json diff --git a/app/graphql/types/has_harvest_errors_type.rb b/app/graphql/types/has_harvest_errors_type.rb index 331dd6e0..8b3b601f 100644 --- a/app/graphql/types/has_harvest_errors_type.rb +++ b/app/graphql/types/has_harvest_errors_type.rb @@ -5,12 +5,16 @@ module Types module HasHarvestErrorsType include Types::BaseInterface - field :harvest_errors, [::Types::HarvestErrorType, { null: false }], null: false do + ERRORS_DEPRECATED = <<~TEXT + Harvest errors are no longer returned nor generated. Check the harvest messages instead. + TEXT + + field :harvest_errors, [::Types::HarvestErrorType, { null: false }], null: false, deprecation_reason: ERRORS_DEPRECATED do description <<~TEXT A list of errors that are associated with this harvesting type. TEXT end - load_association! :harvest_errors + def harvest_errors = Dry::Core::Constants::EMPTY_ARRAY end end diff --git a/app/jobs/pilot_harvesting/seed_job.rb b/app/jobs/pilot_harvesting/seed_job.rb deleted file mode 100644 index cbc4b4ca..00000000 --- a/app/jobs/pilot_harvesting/seed_job.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # @see PilotHarvesting::Seed - class SeedJob < ApplicationJob - queue_as :harvesting - - unique_job! by: :first_arg - - # @param [#to_s] name - # @return [void] - def perform(name) - call_operation! "pilot_harvesting.seed", name - end - end -end diff --git a/app/models/concerns/has_calculated_system_slug.rb b/app/models/concerns/has_calculated_system_slug.rb deleted file mode 100644 index 81b5ad8b..00000000 --- a/app/models/concerns/has_calculated_system_slug.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -module HasCalculatedSystemSlug - extend ActiveSupport::Concern - - included do - before_validation :calculate_system_slug!, if: :should_recalculate_system_slug? - - validates :system_slug, presence: true, uniqueness: true - end - - # @abstract - # @api private - # @return [String] - def calculate_system_slug - # :nocov: - raise "Must implement #{self.class}##{__method__}" - # :nocov: - end - - # @api private - # @return [void] - def calculate_system_slug! - self.system_slug = calculate_system_slug - end - - # @abstract - def should_recalculate_system_slug? - true - end -end diff --git a/app/models/concerns/has_harvest_errors.rb b/app/models/concerns/has_harvest_errors.rb deleted file mode 100644 index 5a42e065..00000000 --- a/app/models/concerns/has_harvest_errors.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -module HasHarvestErrors - extend ActiveSupport::Concern - - included do - has_many :harvest_errors, as: :source, dependent: :delete_all - - scope :sans_harvest_errors, -> { where.not(id: HarvestError.distinct.select(:source_id)) } - scope :with_harvest_errors, -> { where(id: HarvestError.distinct.select(:source_id)) } - scope :with_coded_harvest_errors, ->(code) { where(id: HarvestError.distinct.by_code(code).select(:source_id)) } - scope :with_error_message, ->(needle) { where(id: HarvestError.distinct.message_contains(needle).select(:source_id)) } - end - - # @return [void] - def clear_harvest_errors!(*codes) - harvest_errors.maybe_by_code(*codes).delete_all - end - - # @param [String] code - # @param [String] message - # @param [Hash] flat_metadata an arg that allows a hash to be passed in a tuple straight to this method - # as a third positional argument and transparently merged into `metadata`. - # @param [Hash] metadata - # @return [void] - def log_harvest_error!(code, message, flat_metadata = {}, **metadata) - metadata.merge!(flat_metadata) - - harvest_errors.create!(code:, message:, metadata:) - end -end diff --git a/app/models/harvest_attempt.rb b/app/models/harvest_attempt.rb index 7863f2d8..5400ee9c 100644 --- a/app/models/harvest_attempt.rb +++ b/app/models/harvest_attempt.rb @@ -3,7 +3,6 @@ class HarvestAttempt < ApplicationRecord include HarvestConfigurable include HasEphemeralSystemSlug - include HasHarvestErrors include HasHarvestMetadataFormat include HasHarvestSource include TimestampScopes diff --git a/app/models/harvest_entity.rb b/app/models/harvest_entity.rb index 71abe915..bdf78144 100644 --- a/app/models/harvest_entity.rb +++ b/app/models/harvest_entity.rb @@ -3,7 +3,6 @@ # A staging ground for an {Item} or a {Collection}, extracted # from metadata contained within a {HarvestRecord}. class HarvestEntity < ApplicationRecord - include HasHarvestErrors include ScopesForIdentifier include ReferencesCachedAssets include TimestampScopes diff --git a/app/models/harvest_record.rb b/app/models/harvest_record.rb index ae870149..6272c6a8 100644 --- a/app/models/harvest_record.rb +++ b/app/models/harvest_record.rb @@ -2,7 +2,6 @@ class HarvestRecord < ApplicationRecord include HasEphemeralSystemSlug - include HasHarvestErrors include HasHarvestSource include ScopesForIdentifier include HasHarvestMetadataFormat @@ -44,7 +43,6 @@ class HarvestRecord < ApplicationRecord scope :pending, -> { with_pending_status } scope :active, -> { with_active_status } scope :skipped, -> { with_skipped_status } - scope :upsertable, -> { active.sans_harvest_errors } scope :with_entities, -> { where(id: HarvestEntity.select(:harvest_record_id)) } scope :sans_entities, -> { where.not(id: HarvestEntity.select(:harvest_record_id)) } diff --git a/app/models/pilot_community.rb b/app/models/pilot_community.rb deleted file mode 100644 index 3a80c6d1..00000000 --- a/app/models/pilot_community.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true - -class PilotCommunity < FrozenRecord::Base - include FrozenArel - include FrozenSchema - - add_index :unique_identifier, unique: true - add_index :seed_identifier - add_index :identifier - - scope :for_seed, ->(name) { where(seed_identifier: name.to_s) } - - schema! PilotHarvesting::CommunityDefinition do - required(:unique_identifier).filled(:string) - required(:seed_identifier).filled(:string) - end - - def matches?(only) - only.blank? || identifier.in?(only) - end - - class << self - def assign_defaults!(record) - record["unique_identifier"] = record.values_at("seed_identifier", "identifier").join(?-) - - super - end - - # @param [String, Symbol] name - # @return [Hash] - def grouped_for(name, only_communities: []) - only_communities = Array(only_communities) - - communities = for_seed(name).select do |community| - community.matches?(only_communities) - end.map(&:as_json) - - { communities: } - end - - # @param [String, Symbol] name - # @return [PilotHarvesting::Root] - def root_for(name, only_communities: []) - definition = grouped_for(name, only_communities:) - - ::PilotHarvesting::Root.new(definition) - end - end -end diff --git a/app/operations/api_wrapper/dump_client_schema.rb b/app/operations/api_wrapper/dump_client_schema.rb deleted file mode 100644 index 236d2517..00000000 --- a/app/operations/api_wrapper/dump_client_schema.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -module APIWrapper - class DumpClientSchema - # @return [void] - def call - GraphQL::Client.dump_schema APIWrapper::DefaultAdapter, APIWrapper::CLIENT_SCHEMA_PATH - end - end -end diff --git a/app/operations/api_wrapper/get_admin_wrapper.rb b/app/operations/api_wrapper/get_admin_wrapper.rb deleted file mode 100644 index 32eab395..00000000 --- a/app/operations/api_wrapper/get_admin_wrapper.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -module APIWrapper - class GetAdminWrapper - include MeruAPI::Deps[ - get_graphql_client: "api_wrapper.get_client", - get_token: "password_flow.get_token" - ] - - # @return [APIWrapper::Wrapper] - def call(username, password, endpoint: LocationsConfig.default_graphql_endpoint) - access_token = get_token.(username, password, via_admin: true) - - client = get_graphql_client.(endpoint:) - - ::APIWrapper::Wrapper.new(client, access_token.access_token) - end - end -end diff --git a/app/operations/api_wrapper/get_client.rb b/app/operations/api_wrapper/get_client.rb deleted file mode 100644 index 1ea70a41..00000000 --- a/app/operations/api_wrapper/get_client.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true - -module APIWrapper - # Get a `GraphQL::Client` - class GetClient - # @param [String] endpoint - # @return [GraphQL::Client] - def call(endpoint: LocationsConfig.default_graphql_endpoint) - adapter = get_adapter_for endpoint - - schema = ::GraphQL::Client.load_schema APIWrapper::CLIENT_SCHEMA_PATH - - ::GraphQL::Client.new(schema:, execute: adapter).tap do |client| - client.allow_dynamic_queries = true - end - end - - private - - # @param [String] endpoint - # @return [GraphQL::Client::HTTP] - def get_adapter_for(endpoint) - ::GraphQL::Client::HTTP.new(endpoint) do - include ::APIWrapper::AdapterLogic - end - end - end -end diff --git a/app/operations/harvesting/attempts/extract_records.rb b/app/operations/harvesting/attempts/extract_records.rb index db0087ca..b457868c 100644 --- a/app/operations/harvesting/attempts/extract_records.rb +++ b/app/operations/harvesting/attempts/extract_records.rb @@ -10,8 +10,6 @@ class ExtractRecords # @param [HarvestAttempt] harvest_attempt # @return [Dry::Monads::Success(Integer)] the count of records harvested def call(harvest_attempt, cursor: nil) - harvest_attempt.clear_harvest_errors! - protocol = harvest_attempt.build_protocol_context protocol.extract_records_for(harvest_attempt) diff --git a/app/operations/password_flow/build_client.rb b/app/operations/password_flow/build_client.rb deleted file mode 100644 index 8e749e24..00000000 --- a/app/operations/password_flow/build_client.rb +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -module PasswordFlow - # Build an OIDC Client set up to authenticate against a password-flow client. - class BuildClient - # @return [OpenIDConnect::Client] - def call(client_id: nil) - OpenIDConnect::Client.new KeycloakPasswordFlowConfig.client_args_for client_id - end - end -end diff --git a/app/operations/password_flow/get_token.rb b/app/operations/password_flow/get_token.rb deleted file mode 100644 index 7497012b..00000000 --- a/app/operations/password_flow/get_token.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -module PasswordFlow - # Build an OAuth2 Client set up to authenticate against a password-flow client. - class GetToken - include MeruAPI::Deps[build_client: "password_flow.build_client"] - - # @param [String] username - # @param [String] password - # @param [:admin, nil] client_id - # @return [OpenIDConnect::AccessToken] - def call(username, password, client_id: nil, via_admin: false) - if via_admin - admin_client = client_from client_id: :admin - - admin_client.resource_owner_credentials = [username, password] - - admin_token = token_from admin_client - - exchange_client = client_from client_id: nil - - exchange_client.subject_token = admin_token.access_token - - token_from exchange_client - else - client = client_from(client_id:) - - client.resource_owner_credentials = [username, password] - - token_from client - end - end - - private - - def client_from(client_id: nil, via_admin: false) - options = {} - - options[:client_id] = via_admin ? :admin : client_id - - build_client.call options - end - - def token_from(client) - client.access_token! scope: "openid profile email" - end - end -end diff --git a/app/operations/pilot_harvesting/seed.rb b/app/operations/pilot_harvesting/seed.rb deleted file mode 100644 index b9828c1e..00000000 --- a/app/operations/pilot_harvesting/seed.rb +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - class Seed - def call(key) - root = PilotCommunity.root_for key - - root.call - end - end -end diff --git a/app/operations/pilot_harvesting/upsert_source.rb b/app/operations/pilot_harvesting/upsert_source.rb deleted file mode 100644 index 42ea750e..00000000 --- a/app/operations/pilot_harvesting/upsert_source.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # @see PilotHarvesting::SourceUpserter - class UpsertSource < Support::SimpleServiceOperation - service_klass PilotHarvesting::SourceUpserter - end -end diff --git a/app/services/harvesting/entities/assets_upserter.rb b/app/services/harvesting/entities/assets_upserter.rb index 72d8c189..6675a0da 100644 --- a/app/services/harvesting/entities/assets_upserter.rb +++ b/app/services/harvesting/entities/assets_upserter.rb @@ -17,15 +17,6 @@ class AssetsUpserter < Support::HookBased::Actor param :harvest_entity, Harvesting::Types::Entity end - # Harvest error codes that are cleared by this operation. - CLEARABLE_CODES = %i[ - asset_not_found - could_not_upsert_assets - failed_asset_upsert - failed_entity_upsert - invalid_entity_asset - ].freeze - standard_execution! delegate :harvest_record, :has_assets?, :has_entity?, to: :harvest_entity @@ -74,8 +65,6 @@ def call end wrapped_hook! def prepare - harvest_entity.clear_harvest_errors!(*CLEARABLE_CODES) - @asset_properties = {} @entity = harvest_entity.entity diff --git a/app/services/harvesting/entities/upserter.rb b/app/services/harvesting/entities/upserter.rb index 645efe9f..fae2dffc 100644 --- a/app/services/harvesting/entities/upserter.rb +++ b/app/services/harvesting/entities/upserter.rb @@ -87,8 +87,6 @@ def call end wrapped_hook! def prepare - harvest_entity.clear_harvest_errors! - @actual_entity = nil @cancelled = false diff --git a/app/services/isolated.rb b/app/services/isolated.rb deleted file mode 100644 index 446df2f3..00000000 --- a/app/services/isolated.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -class Isolated - def call(&block) - Async do - Thread.new do - block.call - end.value - end - end - - class << self - def isolate!(&) - new.call(&) - end - end -end diff --git a/app/services/pilot_harvesting/collection_definition.rb b/app/services/pilot_harvesting/collection_definition.rb deleted file mode 100644 index 00eba262..00000000 --- a/app/services/pilot_harvesting/collection_definition.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # @abstract - class CollectionDefinition < Struct - include Dry::Effects.Resolve(:community) - include PilotHarvesting::Harvestable - - defines :schema_name, type: Types::String - - schema_name "default:collection" - - attribute :identifier, Types::String - - attribute :title, Types::String - - attribute? :subtitle, Types::String.optional.default(nil) - - attribute? :issn, Types::String.optional.default(nil) - - delegate :schema_name, to: :class - - do_for! def upsert - provide default_collection_schema: schema do - call_operation("collections.upsert", identifier, title:, parent: collection_parent, properties:) do |collection| - upsert_source_for! collection - end - end - end - - def collection_parent - community - end - - def properties - {} - end - - # @!attribute [r] schema - # @return [SchemaVersion] - def schema - find_schema schema_name - end - end -end diff --git a/app/services/pilot_harvesting/community_definition.rb b/app/services/pilot_harvesting/community_definition.rb deleted file mode 100644 index da83e4b0..00000000 --- a/app/services/pilot_harvesting/community_definition.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - class CommunityDefinition < Struct - include PilotHarvesting::Harvestable - - attribute :identifier, Types::String - - attribute :title, Types::String - - attribute :journals, PilotHarvesting::JournalDefinition.for_array_option - - attribute :series, PilotHarvesting::SeriesDefinition.for_array_option - - do_for! def upsert - call_operation("communities.upsert", identifier, title:) do |community| - provide(community:) do - yield upsert_each journals - yield upsert_each series - end - - yield upsert_source_for! community - - Success community - end - end - end -end diff --git a/app/services/pilot_harvesting/harvestable.rb b/app/services/pilot_harvesting/harvestable.rb deleted file mode 100644 index f5f490a0..00000000 --- a/app/services/pilot_harvesting/harvestable.rb +++ /dev/null @@ -1,136 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - module Harvestable - extend ActiveSupport::Concern - - MetadataMapping = Types::Hash.schema( - identifier: Types::Coercible::String, - field: Types::Coercible::String, - pattern: Types::Coercible::String, - ).with_key_transform(&:to_sym) - - included do - defines :metadata_format, type: Harvesting::Types::MetadataFormatName - - metadata_format "mods" - - defines :protocol_name, type: Harvesting::Types::ProtocolName - - protocol_name "oai" - - defines :harvesting_identifier, type: PilotHarvesting::Types::Symbol - - harvesting_identifier :identifier - - defines :harvesting_title, type: PilotHarvesting::Types::Symbol - - harvesting_title :title - - attribute? :url, PilotHarvesting::Types::SourceURL - - attribute? :add_set, PilotHarvesting::Types::Bool.default(false) - - attribute? :set_identifier, PilotHarvesting::Types::String.optional - - attribute? :auto_create_volumes_and_issues, PilotHarvesting::Types::Bool.default(false) - - attribute? :link_identifiers_globally, PilotHarvesting::Types::Bool.default(false) - - attribute? :use_metadata_mappings, PilotHarvesting::Types::Bool.default(false) - - attribute? :max_records, Harvesting::Types::MaxRecordCount - - attribute? :metadata_format, Harvesting::Types::MetadataFormatName.optional - - attribute? :protocol_name, Harvesting::Types::ProtocolName.optional - - attribute? :skip_harvest, Harvesting::Types::Bool.default(false) - - attribute? :metadata_mappings, Harvesting::Types::Array.of(MetadataMapping).default([].freeze) - - attribute? :mapping_template, Harvesting::Types::String.optional - - attribute? :example_mapping_template_id, Harvesting::Types::String.optional - - delegate :metadata_format, :protocol_name, to: :class, prefix: :default - end - - def default_example_mapping_template_id - case harvesting_metadata_format - when "esploro" - "default_esploro" - when "jats" - "default_jats" - when "mets" - "default_mets" - when "oaidc" - case schema_name - in "nglp:journal" then "oaidc_journal_article" - in "nglp:series" then "default_oaidc" - end - end - end - - def extraction_mapping_template - @extraction_mapping_template ||= load_extraction_mapping_template - end - - # @!attribute [r] harvesting_identifier - # @return [String] - def harvesting_identifier - public_send self.class.harvesting_identifier - end - - # @!attribute [r] harvesting_title - # @return [String] - def harvesting_title - public_send self.class.harvesting_title - end - - # @!attribute [r] harvesting_metadata_format - # @return [Harvesting::Types::MetadataFormatName] - def harvesting_metadata_format - metadata_format.presence || default_metadata_format - end - - # @!attribute [r] protocol_name - # @return [Harvesting::Types::ProtocolName] - def harvesting_protocol_name - protocol_name || default_protocol_name - end - - def mapping_options - { - auto_create_volumes_and_issues:, - link_identifiers_globally:, - use_metadata_mappings:, - } - end - - def read_options - { - max_records:, - } - end - - # @param [HierarchicalEntity] entity - # @return [Dry::Monads::Success(HarvestAttempt)] - # @return [Dry::Monads::Success(nil)] - def upsert_source_for!(entity) - return Success(nil) if url.blank? - - call_operation("pilot_harvesting.upsert_source", self, entity, extraction_mapping_template:) - end - - private - - def load_extraction_mapping_template - return mapping_template if mapping_template.present? - - id = example_mapping_template_id.presence || default_example_mapping_template_id - - Harvesting::Example.find(id)&.extraction_mapping_template - end - end -end diff --git a/app/services/pilot_harvesting/journal_definition.rb b/app/services/pilot_harvesting/journal_definition.rb deleted file mode 100644 index 8933e89f..00000000 --- a/app/services/pilot_harvesting/journal_definition.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # Defines an `nglp:journal` - class JournalDefinition < CollectionDefinition - metadata_format "jats" - - schema_name "nglp:journal" - - def properties - super.merge(issn:) - end - end -end diff --git a/app/services/pilot_harvesting/root.rb b/app/services/pilot_harvesting/root.rb deleted file mode 100644 index 79209462..00000000 --- a/app/services/pilot_harvesting/root.rb +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - class Root < Struct - attribute :communities, CommunityDefinition.for_array_option - attribute :seeds, PilotHarvesting::Types::SeedList - - def call - with_cache do - upsert - end - end - - do_for! def upsert - retval = {} - - retval[:seeds] = seeds.map do |seed| - yield MeruAPI::Container["seeding.import_vendored"].(seed) - end - - retval[:communities] = yield upsert_each communities - - Success retval - end - end -end diff --git a/app/services/pilot_harvesting/series_definition.rb b/app/services/pilot_harvesting/series_definition.rb deleted file mode 100644 index 84abf167..00000000 --- a/app/services/pilot_harvesting/series_definition.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # Defines an `nglp:series` - class SeriesDefinition < CollectionDefinition - metadata_format "mets" - - schema_name "nglp:series" - end -end diff --git a/app/services/pilot_harvesting/source_upserter.rb b/app/services/pilot_harvesting/source_upserter.rb deleted file mode 100644 index e9049b6f..00000000 --- a/app/services/pilot_harvesting/source_upserter.rb +++ /dev/null @@ -1,153 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # @see PilotHarvesting::UpsertSource - class SourceUpserter < Support::HookBased::Actor - include Dry::Initializer[undefined: false].define -> do - param :harvestable, PilotHarvesting::Types.Instance(::PilotHarvesting::Harvestable) - - param :target_entity, Harvesting::Types::Target - - option :extraction_mapping_template, Harvesting::Types::String.optional, optional: true - end - - standard_execution! - - delegate :harvesting_identifier, - :harvesting_title, - :metadata_mappings, - :set_identifier, - :skip_harvest, - :url, - to: :harvestable - - # @return [HarvestAttempt] - attr_reader :harvest_attempt - - # @return [HarvestMapping] - attr_reader :harvest_mapping - - # @return [HarvestSet] - attr_reader :harvest_set - - # @return [HarvestSource] - attr_reader :harvest_source - - # @return [Harvesting:Types::MetadataFormatName] - attr_reader :metadata_format - - # @return [Hash] - attr_reader :mapping_options - - # @return [Harvesting::Types::ProtocolName] - attr_reader :protocol - - # @return [Hash] - attr_reader :read_options - - # @return [Dry::Monads::Success(HarvestAttempt)] - def call - run_callbacks :execute do - yield prepare! - - yield upsert_source! - - yield maybe_assign_metadata_mappings! - - yield maybe_upsert_set! - - yield upsert_mapping! - - yield create_attempt! - end - - Success harvest_attempt - end - - wrapped_hook! def prepare - @harvest_source = @harvest_mapping = @harvest_set = @attemptable = nil - - @mapping_options = harvestable.mapping_options - - @read_options = harvestable.read_options - - @metadata_format = harvestable.harvesting_metadata_format - - @protocol = harvestable.harvesting_protocol_name - - super - end - - wrapped_hook! def upsert_source - options = { - extraction_mapping_template:, - mapping_options:, - read_options:, - metadata_format:, - protocol:, - } - - @harvest_source = yield call_operation( - "harvesting.sources.upsert", - harvesting_identifier, - harvesting_title, - url, - **options - ) - - super - end - - wrapped_hook! def maybe_assign_metadata_mappings - return super if metadata_mappings.blank? - - yield harvest_source.assign_metadata_mappings(metadata_mappings, base_entity: target_entity) - - super - end - - wrapped_hook! def maybe_upsert_set - return super unless set_identifier.present? - - @harvest_set = yield harvest_source.upsert_set(set_identifier) - - super - end - - wrapped_hook! def upsert_mapping - options = { - extraction_mapping_template:, - mapping_options:, - read_options:, - set: harvest_set, - } - - @harvest_mapping = yield call_operation( - "harvesting.mappings.upsert", - harvest_source, - target_entity, - **options - ) - - super - end - - wrapped_hook! def create_attempt - if skip_harvest && harvest_mapping.harvest_attempts.exists? - # :nocov: - @harvest_attempt = harvest_mapping.harvest_attempts.latest - - return super - # :nocov: - end - - @harvest_attempt = harvest_mapping.create_attempt( - extraction_mapping_template:, - harvest_set:, - target_entity:, - ) - - super - end - end -end diff --git a/app/services/pilot_harvesting/struct.rb b/app/services/pilot_harvesting/struct.rb deleted file mode 100644 index 84adeaea..00000000 --- a/app/services/pilot_harvesting/struct.rb +++ /dev/null @@ -1,90 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # @abstract - class Struct < Dry::Struct - extend Dry::Core::ClassAttributes - extend Support::DoFor - - include Dry::Effects::Handler.Cache(:harvesting) - include Dry::Effects::Handler.Resolve - include Dry::Monads::Do.for(:upsert) - include Dry::Monads::Do.for(:upsert_each) - include Dry::Monads[:result] - prepend Dry::Effects.Cache(harvesting: :find_schema) - - transform_keys(&:to_sym) - - transform_types do |type| - if type.default? - type.constructor do |value| - value.nil? ? Dry::Types::Undefined : value - end - else - type - end - end - - # @return [Dry::Monads::Result] - def call_operation(name, *args, **kwargs) - result = MeruAPI::Container[name].(*args, **kwargs) - - return result unless block_given? - - handle_result(result) do |value| - yield value - end - end - - def handle_result(result) - Dry::Matcher::ResultMatcher.call result do |m| - m.success do |res| - yield res - end - - m.failure do |*errs| - Failure[*errs] - end - end - end - - # @param [String] name - # @return [SchemaVersion] - def find_schema(name) - SchemaVersion[schema_name] - end - - # @abstract - # @return [Dry::Monads::Result] - do_for! def upsert - # :nocov: - raise NotImplementedError - # :nocov: - end - - # @param [<#upsert>] upsertables - # @return [Dry::Monads::Result] - def upsert_each(upsertables) - upserted = upsertables.map do |upsertable| - yield upsertable.upsert - end - - Success upserted - end - - class << self - def for_array_option - PilotHarvesting::Types::Array.of(self).default { [] } - end - - def method_added(method_name) - super - - case method_name - when /\Aupsert\z/ - include Dry::Monads::Do.for(method_name) - end - end - end - end -end diff --git a/app/services/pilot_harvesting/types.rb b/app/services/pilot_harvesting/types.rb deleted file mode 100644 index ddd50a02..00000000 --- a/app/services/pilot_harvesting/types.rb +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -module PilotHarvesting - # Types related to pilot - module Types - extend ::Support::Typespace - - SeedList = Types::Array.of(Types::String).default { [] } - - SourceURL = Types::String.constrained(http_uri: true) - end -end diff --git a/config/configs/keycloak_password_flow_config.rb b/config/configs/keycloak_password_flow_config.rb deleted file mode 100644 index ee1ce0a9..00000000 --- a/config/configs/keycloak_password_flow_config.rb +++ /dev/null @@ -1,74 +0,0 @@ -# frozen_string_literal: true - -class KeycloakPasswordFlowConfig < ApplicationConfig - include Dry::Core::Memoizable - - attr_config :realm_id - attr_config :client_id - attr_config :client_secret - - attr_config :admin_realm_id - attr_config :admin_client_id - attr_config :admin_client_secret - - def client_args_for(id) - case id - when /admin/ then admin_client_args - else - client_args - end - end - - # @return [Hash] - memoize def client_args - build_client_args realm_id, client_id, client_secret - end - - memoize def admin_client_args - build_client_args admin_realm_id, admin_client_id, admin_client_secret - end - - memoize def keycloak_config - KeycloakRack::Config.new - end - - memoize def keycloak_url - URI.parse keycloak_config.server_url - end - - private - - # @param [String] realm_id - # @param [String] client_id - # @param [String] client_secret - # @return [Hash] - def build_client_args(realm_id, client_id, client_secret) - oidc_config = oidc_config_for realm_id - - { - identifier: client_id, - secret: client_secret, - host: keycloak_url.host, - scheme: keycloak_url.scheme, - scopes_supported: oidc_config.scopes_supported, - authorization_endpoint: oidc_config.authorization_endpoint, - token_endpoint: oidc_config.token_endpoint, - userinfo_endpoint: oidc_config.userinfo_endpoint, - jwks_uri: oidc_config.jwks_uri, - } - end - - # @param [String] realm_id - # @return [String] - def issuer_for(realm_id) - "#{keycloak_config.server_url}/realms/#{realm_id}" - end - - # @param [String] realm_id - # @return [OpenIDConnect::Discovery::Provider::Config::Response] - def oidc_config_for(realm_id) - issuer = issuer_for realm_id - - OpenIDConnect::Discovery::Provider::Config.discover! issuer - end -end diff --git a/lib/frozen_record/pilot_communities.yml b/lib/frozen_record/pilot_communities.yml deleted file mode 100644 index f4ceb7b3..00000000 --- a/lib/frozen_record/pilot_communities.yml +++ /dev/null @@ -1,361 +0,0 @@ ---- -- seed_identifier: arizona - identifier: arizona - title: University of Arizona - journals: - - identifier: jpe - title: Journal of Political Ecology - url: https://journals.librarypublishing.arizona.edu/jpe/api/oai/ - - identifier: lymph - title: Lymphology - url: https://journals.librarypublishing.arizona.edu/lymph/api/oai/ - series: - - identifier: mt - title: Masters' Theses - url: https://repository.arizona.edu/oai/request - set_identifier: col_10150_129651 -- seed_identifier: claremont - identifier: claremont - title: Claremont - journals: - - identifier: codee - title: CODEE - url: https://claremont.nglp.olh.pub/codee/api/oai - - identifier: envirolabasia - title: Envirolab Asia - url: https://claremont.nglp.olh.pub/envirolabasia/api/oai -- seed_identifier: clemson - identifier: clemson - title: Clemson - journals: - - identifier: joe - title: Journal of Extension - url: https://demo.janeway.systems/joe/api/oai/ -- seed_identifier: escholarship - identifier: uci - title: UC Irvine - url: https://dspace-pilot.escholarship.org/server/oai/request - set_identifier: com_123456789_5906 - metadata_format: mets - link_identifiers_globally: true -- seed_identifier: escholarship - identifier: ucm - title: UC Merced - url: https://dspace-pilot.escholarship.org/server/oai/request - set_identifier: com_123456789_8 - metadata_format: mets - link_identifiers_globally: true -- seed_identifier: escholarship_v2 - identifier: uci - title: UC Irvine - journals: - - identifier: class_lta - title: Journal for Learning through the Arts - url: https://escholarship.org/oai - metadata_format: oaidc - add_set: true - set_identifier: class_lta -- seed_identifier: escholarship_v2 - identifier: ucm - title: UC Merced - journals: - - identifier: ssha_transmodernity - title: Transmodernity - subtitle: Journal of Peripheral Cultural Production of the Luso-Hispanic World - url: https://escholarship.org/oai - metadata_format: oaidc - add_set: true - set_identifier: ssha_transmodernity -- seed_identifier: longleaf - identifier: ecu - title: East Carolina University - journals: - - identifier: ncl - title: North Carolina Libraries - url: http://www.ncl.ecu.edu/index.php/NCL/oai - metadata_format: oaidc -- seed_identifier: longleaf - identifier: nccu - title: North Carolina Central University - journals: - - identifier: tpre - title: Theory & Practice in Rural Education - url: https://tpre.ecu.edu/index.php/tpre/oai - metadata_format: oaidc - skip_harvest: true -- seed_identifier: longleaf - identifier: ncsu - title: North Carolina State University - journals: - - identifier: acontracorriente - title: 'A Contracorriente: una revista de estudios latinoamericanos' - url: https://acontracorriente.chass.ncsu.edu/index.php/acontracorriente/oai - metadata_format: oaidc -- seed_identifier: longleaf - identifier: unc-charlotte - title: UNC Charlotte - journals: - - identifier: dsj - title: 'Dialogues in Social Justice: An Adult Education Journal' - url: https://journals.charlotte.edu/dsj/oai - metadata_format: oaidc - - identifier: jaepr - title: Journal of Applied Educational and Policy Research - url: https://journals.charlotte.edu/jaepr/oai - metadata_format: oaidc - - identifier: dialog - title: 'HS Dialog: The Research to Practice Journal for the Early Childhood Field' - url: https://journals.charlotte.edu/dialog/oai - metadata_format: oaidc -- seed_identifier: longleaf - identifier: unc-greensboro - title: UNC Greensboro - journals: - - identifier: ccj - title: Communication Center Journal - url: https://libjournal.uncg.edu/ccj/oai - metadata_format: oaidc - - identifier: fsm - title: 'Found Sounds: UNCG Musicology Journal' - url: https://libjournal.uncg.edu/fsm/oai - metadata_format: oaidc - - identifier: ijcp - title: The International Journal of Critical Pedagogy - url: https://libjournal.uncg.edu/ijcp/oai - metadata_format: oaidc - - identifier: wpe - title: Working Papers in Education - url: https://libjournal.uncg.edu/wpe/oai - metadata_format: oaidc -- seed_identifier: longleaf - identifier: unc-wilmington - title: UNC Wilmington - journals: - - identifier: jethe - title: Journal of Effective Teaching in Higher Education - url: https://jethe.org/index.php/jethe/oai - metadata_format: oaidc -- seed_identifier: longleaf - identifier: education-research - title: Education Research -- seed_identifier: umassamherst - identifier: umassamherst - title: 'University of Massachusetts: Amherst' - journals: - - identifier: pare - title: Practical Assessment, Research, and Evaluation - url: https://demo.janeway.systems/pare/api/oai/ - - identifier: translatlib - title: Translat Library - url: https://demo.janeway.systems/translatlib/api/oai/ -- seed_identifier: uno - identifier: uno - title: University of New Orleans - journals: - - identifier: ellipsis - title: Ellipsis - url: https://neworleans.nglp.olh.pub/ellipsis/api/oai/ - - identifier: beyondthemargins - title: Beyond The Margins - url: https://neworleans.nglp.olh.pub/beyondthemargins/api/oai/ -- seed_identifier: unca - identifier: unca - title: "UNC Asheville" - journals: - - url: "https://longleaf.defender.janeway.systems/ms/api/oai/" - title: "Mathematics and Sports" - identifier: "mas" - metadata_format: jats - auto_create_volumes_and_issues: true -- seed_identifier: uncg - identifier: uncg - title: "UNC Greensboro" - journals: - - url: "http://libjournal.uncg.edu/ap/oai" - title: "Archival Practice" - issn: "2378-4032" - identifier: "ap" - metadata_format: oaidc - auto_create_volumes_and_issues: true - - url: "http://libjournal.uncg.edu/index.php/fsm/oai" - title: "Found Sounds" - metadata_format: oaidc - identifier: fsm - auto_create_volumes_and_issues: true - - url: "http://libjournal.uncg.edu/ijnpe/oai" - title: "International Journal of Nurse Practitioner Educators" - issn: "2161-0053" - metadata_format: oaidc - identifier: ijnpe - - url: "http://libjournal.uncg.edu/jbc/oai" - title: "Journal of Backcountry Studies" - issn: "2325-4254" - metadata_format: oaidc - identifier: jbc - - url: "http://libjournal.uncg.edu/prt/oai" - title: "Partnerships" - issn: "1944-1061" - metadata_format: oaidc - identifier: prt - - url: "http://libjournal.uncg.edu/index.php/wpe/oai" - title: "Working Papers on Language and Diversity in Education" - metadata_format: oaidc - identifier: wpe - - identifier: ccj - title: Communication Center Journal - url: https://longleaf.defender.janeway.systems/ccj/api/oai/ - metadata_format: jats - - identifier: jae - title: Journal of Appreciative Education - url: https://longleaf.defender.janeway.systems/jae/api/oai/ - metadata_format: jats - - identifier: jls - title: Journal of Learning Spaces - url: https://longleaf.defender.janeway.systems/jls/api/oai/ - metadata_format: jats - - identifier: jmal - title: Journal of Movement Arts Literacy - url: https://longleaf.defender.janeway.systems/jmal/api/oai/ - metadata_format: jats - - title: North Carolina Journal of Mathematics and Statistics - identifier: ncjms - url: https://longleaf.defender.janeway.systems/ncjms/api/oai/ - metadata_format: jats - - identifier: prp - title: Global Journal of Peace Research and Praxis - url: https://longleaf.defender.janeway.systems/prp/api/oai/ - metadata_format: jats - - identifier: ijcp - title: The International Journal of Critical Pedagogy - url: https://longleaf.defender.janeway.systems/ijcp/api/oai/ - metadata_format: jats - series: - - url: "http://libjournal.uncg.edu/index.php/pcel/oai" - title: "Proceedings of The Conference for Entrepreneurial Librarians" - issn: "2376-6409" - metadata_format: oaidc - identifier: pcel -- seed_identifier: btaa-uiowa - identifier: uiowa - title: University of Iowa - journals: - - identifier: uiowa-transit - title: Transit - url: https://pubs.lib.uiowa.edu/transit/api/oai/ - metadata_format: jats - - identifier: uiowa-mathal - title: "Journal of Islamic and Middle Eastern Multidisciplinary Studies: Mathal" - url: https://pubs.lib.uiowa.edu/mathal/api/oai/ - metadata_format: jats - - identifier: uiowa-pog - title: Proceedings in Obstetrics and Gynecology - url: https://pubs.lib.uiowa.edu/pog/api/oai/ - metadata_format: jats -- seed_identifier: btaa-uiowa-esploro - identifier: uiowa - title: University of Iowa - url: "https://uiowa.alma.exlibrisgroup.com/view/oai/01IOWA_INST/request" - set_identifier: "iro:meru-esploro" - metadata_format: esploro - skip_harvest: true - use_metadata_mappings: true - metadata_mappings: - - identifier: uiowa-ofm - field: relation - pattern: "^ispartof:[[:space:]]+Open file map series.*" - - identifier: uiowa-wrir - field: relation - pattern: "^ispartof:[[:space:]]+Water Resources Investigation Report.*" - - identifier: uiowa-tech-info-series - field: relation - pattern: "^ispartof:[[:space:]]+Technical Information Series.*" - - identifier: uiowa-tech-info-series - field: relation - pattern: "^ispartof:[[:space:]]+Iowa Geological Survey Technical Information Series.*" - - identifier: uiowa-wsb - field: relation - pattern: "^ispartof:[[:space:]]+Water-supply bulletin.*" - - identifier: uiowa-iihr-monographs - field: identifier - pattern: "^iihr_monograph_series.*" - - identifier: uiowa-iwp - field: title - pattern: "^International Writing Program.*" - - identifier: uiowa-iwpar - field: title - pattern: "^The International Writing Program at the University of Iowa annual report.*" -- seed_identifier: btaa-indiana - identifier: "indiana" - metadata_format: oaidc - title: "Indiana University" - journals: - - url: https://scholarworks.iu.edu/journals/index.php/josotl/oai - identifier: indiana-josotl - metadata_format: oaidc - title: Journal of the Scholarship of Teaching and Learning - - url: https://scholarworks.iu.edu/journals/index.php/sdh/oai - identifier: indiana-sdh - metadata_format: oaidc - title: Studies in Digital Heritage (SDH) - - url: https://scholarworks.iu.edu/journals/index.php/tmr/oai - identifier: indiana-tmr - metadata_format: oaidc - title: The Medieval Review - - url: https://scholarworks.iu.edu/journals/index.php/jfrr/oai - identifier: indiana-jfrr - metadata_format: oaidc - title: Journal of Folklore Research Reviews - - url: https://scholarworks.iu.edu/journals/index.php/ijdl/oai - identifier: indiana-ijdl - metadata_format: oaidc - title: International Journal of Designs for Learning - #series: - #- url: https://scholarworks.iu.edu/iuswrrest/oai/ - #identifier: indiana-dissertations - #metadata_format: oaidc - #title: "Dissertations" -- seed_identifier: btaa-penn-state - identifier: penn-state - metadata_format: oaidc - title: "Penn State" - journals: - - url: https://journals.psu.edu/artsculturedevelopment/oai - identifier: penn-state-artsculturedevelopment - metadata_format: oaidc - title: Arts, Culture, Development - - url: https://journals.psu.edu/dls/oai - identifier: penn-state-dls - metadata_format: oaidc - title: Digital Literary Studies - - url: https://journals.psu.edu/geomorphica/oai - identifier: penn-state-geomorphica - metadata_format: oaidc - title: Geomorphica - - url: https://journals.psu.edu/ik/oai - identifier: penn-state-ik - metadata_format: oaidc - title: "IK: Other Ways of Knowing" - - url: https://journals.psu.edu/medicine/oai - identifier: penn-state-medicine - metadata_format: oaidc - title: "Penn State Journal of Medicine" - - url: https://journals.psu.edu/ruralpolicy/oai - identifier: penn-state-ruralpolicy - metadata_format: oaidc - title: "Rural Policy" - - url: https://journals.psu.edu/strokeclinician/oai - identifier: penn-state-strokeclinician - metadata_format: oaidc - title: "Stroke Clinician" - # - url: https://journals.psu.edu/mentor/oai - # identifier: penn-state-mentor - # metadata_format: oaidc - # title: The Mentor -- seed_identifier: uncw - identifier: uncw - title: UNC Wilmington - journals: - - url: https://janeway.uncpress.org/jethe/api/oai/ - identifier: jethe - metadata_format: jats - title: Journal of Effective Teaching in Higher Education diff --git a/lib/tasks/pilot_harvesting.rake b/lib/tasks/pilot_harvesting.rake deleted file mode 100644 index b738613d..00000000 --- a/lib/tasks/pilot_harvesting.rake +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -namespace :pilot_harvesting do - desc "Enqueue a seed job" - task :seed, %i[seed_name] => :environment do |t, args| - seed_name = args[:seed_name] - - raise "must provide seed name" if seed_name.blank? - - PilotHarvesting::SeedJob.perform_later seed_name - end -end diff --git a/spec/jobs/pilot_harvesting/seed_job_spec.rb b/spec/jobs/pilot_harvesting/seed_job_spec.rb deleted file mode 100644 index 978aaed7..00000000 --- a/spec/jobs/pilot_harvesting/seed_job_spec.rb +++ /dev/null @@ -1,7 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe PilotHarvesting::SeedJob, type: :job do - it_behaves_like "a pass-through operation job", "pilot_harvesting.seed" do - let(:job_arg) { :escholarship } - end -end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 5f2cf1c1..faf31f21 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -67,12 +67,14 @@ add_group "Harvesting", [ "app/jobs/harvesting", - %r|app/models/harvest|, + %r|app/models/[^/]*harvest|, %r|app/models/concerns/[^/]*harvest|, "app/operations/harvesting", - "app/operations/pilot_harvesting", + "app/operations/metadata", + "app/operations/protocols", "app/services/harvesting", - "app/services/pilot_harvesting", + "app/services/metadata", + "app/services/protocols", ] add_group "Mutations", [ @@ -81,6 +83,20 @@ "app/services/mutation_operations", ] + add_group "Rendering", [ + %r|app/graphql/types/[^/]*layout|, + %r|app/graphql/types[^/]*template|, + %r|app/models/[^/]*layout|, + %r|app/models/[^/]*template|, + "app/models/rendering", + "app/operations/layouts", + "app/operations/rendering", + "app/operations/templates", + "app/services/layouts", + "app/services/rendering", + "app/services/templates", + ] + add_group "Operations", "app/operations" add_group "Policies", "app/policies" add_group "Services", "app/services" diff --git a/spec/services/pilot_harvesting/root_spec.rb b/spec/services/pilot_harvesting/root_spec.rb deleted file mode 100644 index 1beee7a3..00000000 --- a/spec/services/pilot_harvesting/root_spec.rb +++ /dev/null @@ -1,136 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe PilotHarvesting::Root do - context "with a completely fresh set" do - let_it_be(:base_url) { Harvesting::Testing::ProviderDefinition.oai.first.oai_endpoint } - let_it_be(:communities) do - [ - { - seed_identifier: "some-test", - identifier: "ph-test", - title: "Pilot Harvesting Test Community", - journals: [ - { - identifier: "ph-test-journal", - title: "Pilot Harvesting Test Journal", - metadata_format: "jats", - skip_harvest: false, - url: base_url, - } - ], - series: [ - { - identifier: "ph-test-series", - title: "Pilot Harvesting Test Series", - metadata_format: "oaidc", - skip_harvest: false, - url: base_url, - } - ], - use_metadata_mappings: true, - metadata_mappings: [ - { identifier: "will-not-exist", field: "title", pattern: "foo-bar-baz.+", } - ], - }, - ] - end - - let_it_be(:root) do - described_class.new(communities:) - end - - describe "#call" do - it "creates the hierarchy, starts the harvest, and ignores the invalid metadata mappings" do - expect do - expect(root.call).to succeed - end.to change(Community, :count).by(1) - .and change(Collection.filtered_by_schema_version("nglp:journal"), :count).by(1) - .and change(Collection.filtered_by_schema_version("nglp:series"), :count).by(1) - .and change(HarvestSource, :count).by(2) - .and change(HarvestMapping, :count).by(2) - .and keep_the_same(HarvestSet, :count) - .and keep_the_same(HarvestMetadataMapping, :count) - .and change(HarvestAttempt, :count).by(2) - .and have_enqueued_job(Harvesting::Sources::ExtractSetsJob).twice - end - end - end - - context "when dealing with metadata mappings" do - let_it_be(:uiowa, refind: true) { FactoryBot.create :community, identifier: "uiowa" } - - let_it_be(:uiowa_iihr_monographs, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-iihr-monographs", title: "IIHR Monographs") - end - - let_it_be(:uiowa_iwp, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-iwp", title: "International Writing Program") - end - - let_it_be(:uiowa_iwpar, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-iwpar", title: "International Writing Program Annual Report") - end - - let_it_be(:uiowa_ofm, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-ofm", title: "Open File Maps") - end - - let_it_be(:uiowa_tech_info_series, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-tech-info-series", title: "Technical Information Series") - end - - let_it_be(:uiowa_wrir, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-wrir", title: "Water Resources Investigation Report") - end - - let_it_be(:uiowa_wsb, refind: true) do - FactoryBot.create(:collection, :series, community: uiowa, identifier: "uiowa-wsb", title: "Water-Supply Bulletin") - end - - let_it_be(:base_url) { Harvesting::Testing::ProviderDefinition.oai.first.oai_endpoint } - - let_it_be(:communities) do - [ - { - "seed_identifier" => "btaa-uiowa-esploro", - "identifier" => "uiowa", - "title" => "University of Iowa", - "url" => base_url, - "set_identifier" => "iro:meru-esploro", - "metadata_format" => "esploro", - "skip_harvest" => true, - "use_metadata_mappings" => true, - "metadata_mappings" => [ - { "identifier" => "uiowa-ofm", "field" => "relation", "pattern" => "^ispartof:[[:space:]]+Open file map series.*" }, - { "identifier" => "uiowa-wrir", "field" => "relation", "pattern" => "^ispartof:[[:space:]]+Water Resources Investigation Report.*" }, - { "identifier" => "uiowa-tech-info-series", "field" => "relation", "pattern" => "^ispartof:[[:space:]]+Technical Information Series.*" }, - { "identifier" => "uiowa-tech-info-series", "field" => "relation", "pattern" => "^ispartof:[[:space:]]+Iowa Geological Survey Technical Information Series.*" }, - { "identifier" => "uiowa-wsb", "field" => "relation", "pattern" => "^ispartof:[[:space:]]+Water-supply bulletin.*" }, - { "identifier" => "uiowa-iihr-monographs", "field" => "identifier", "pattern" => "^iihr_monograph_series.*" }, - { "identifier" => "uiowa-iwp", "field" => "title", "pattern" => "^International Writing Program.*" }, - { "identifier" => "uiowa-iwpar", "field" => "title", "pattern" => "^The International Writing Program at the University of Iowa annual report.*" } - ], - } - ] - end - - let_it_be(:root) do - described_class.new(communities:) - end - - describe "#call" do - it "creates a whole slew of necessary harvesting materials" do - expect do - expect(root.call).to succeed - end.to keep_the_same(Community, :count) - .and keep_the_same(Collection, :count) - .and change(HarvestSource, :count).by(1) - .and change(HarvestMapping, :count).by(1) - .and change(HarvestSet, :count).by(1) - .and change(HarvestAttempt, :count).by(1) - .and change(HarvestMetadataMapping, :count).by(8) - .and have_enqueued_job(Harvesting::Sources::ExtractSetsJob).once - end - end - end -end diff --git a/vendor/seeds/uci_units.json b/vendor/seeds/uci_units.json deleted file mode 100644 index c93054eb..00000000 --- a/vendor/seeds/uci_units.json +++ /dev/null @@ -1,5554 +0,0 @@ -{ - "version": "1.0.0", - "communities": [ - { - "title": "UC Irvine", - "identifier": "uci", - "schema": "default:community", - "hero_image": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1e33a148c233c8530aac3353029103a3752983a9ee3a39eb1361883984c371b6" - }, - "logo": { - "format": "url", - "url": "https://escholarship.org/cms-assets/bb58f8cf110e048ff81e2478955dd24ea45e689b8fee4109dcbbf38a5439e5f3" - }, - "pages": [ - { - "slug": "about", - "title": "About eScholarship", - "body": "

eScholarship\u00ae\u00a0provides scholarly publishing and repository services that enable departments, research units, publishing programs, and individual scholars associated with the University of California to have direct control over the creation and dissemination of the full range of their scholarship.

eScholarship Publishing

eScholarship\u00a0Publishing\u00a0provides comprehensive publication services for UC-affiliated departments, research units, publishing programs, and individual scholars who seek to publish original, open access journals, books, conference proceedings, and other original scholarship. Our journals program, in particular, supports publications that traverse standard disciplinary boundaries, explore new publishing models, and/or seek to reach professionals in applied fields beyond academia.

eScholarship Repository

eScholarship Repository\u00a0offers preservation and dissemination services for a wide range of scholarship including working papers, electronic theses and dissertations (ETDs), student capstone projects, and paper/seminar series. eScholarship Repository is also the primary destination for researchers depositing their previously published journal articles in accordance with the Academic Senate\u2019s\u00a0UC Open Access Policy.

Technical Resources

Learn more about about the technical specifications of the eScholarship platform, including\u00a0integrations\u00a0and\u00a0technical documentation.

eScholarship is a service of the Publishing Group of the\u00a0California Digital Library.



" - }, - { - "slug": "ucoapolicies", - "title": "UC Open Access Policies", - "body": "

The Academic Senate of the University of California adopted an Open Access Policy on July 24, 2013, ensuring that future research articles authored by faculty at all 10 UC campuses will be made available to the public at no charge. A precursor to this policy was adopted by the UCSF Academic Senate on May 21, 2012.

On October 23, 2015, a Presidential Open Access Policy expanded open access rights and responsibilities to all other authors who write scholarly articles while employed at UC, including non-senate researchers, lecturers, post-doctoral scholars, administrative staff, librarians, and graduate students.

How do I comply with these policies?

The UC open access policies require that UC faculty and other employees provide a copy of their scholarly articles for inclusion in eScholarship or provide a link to an open version of their articles elsewhere.

What are the benefits of participating in the Open Access policies?

Learn more

Visit the Office of Scholarly Communication to:

" - } - ], - "collections": [ - { - "title": "Arts Computation Engineering", - "identifier": "ace", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/e0a077f4ab7cdebdd15511cf2b1a1c2cc78b8bdfe5546601233a85a41791c025" - }, - "properties": { - "about": "

ACE is a transdisciplinary Graduate Program in Arts, Computation and\n Engineering at the University of California, Irvine, supported by the Claire\n Trevor School of the Arts (SOTA), the Donald Bren School of Information and\n Computer Sciences (ICS), and the Henry Samueli School of Engineering\n (SOE).

\n

The ACE program consists of three masters level degrees, each of which is\n awarded at the school level with a designated ACE concentration: 1) ACE MFA\n within SOTA; 2) ACE MS within ICS; and 3) ACE MS SOE. An ACE Dual Degree\n (MS/MFA) and an ACE Ph.D. are in the planning phase. Currently the ACE\n Masters is a terminal degree. Upon completion of the Masters, transfer to a\n school-based Ph.D. program is possible for eligible students.

\n

ACE addresses emerging practices and career paths that combine skills and\n sensibilities of technical and scientific disciplines with the arts and\n humanities. The ACE program is oriented towards informed production. ACE is\n theory put into practice, and as such students are expected to understand\n the technical, historical and socio-cultural implications of what they\n do.

\n

Theoretical and historical perspectives from the Arts, Cultural Studies,\n Critical Theory, Science and Technology Studies, Human-Computer Interaction,\n Artificial Intelligence, Cognitive Science, and a variety of other sources\n are combined to provide students an intellectual and practical foundation\n that combines analytic and practical perspectives germane to their\n practice.

\n

The ACE program focuses on computational techniques involving embodied,\n emergent and generative real-time performance, immersive installations,\n artificial life, autonomous agents, online interaction and design, gaming,\n and social simulation.

" - }, - "collections": [ - { - "title": "Digital Arts and Culture 2009", - "identifier": "ace_dac09", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Digital Arts and Culture 2009 was the 8th in an international series of\n conferences begun in 1998. DAC is recognized as an interdisciplinary event\n of high intellectual caliber. This iteration of DAC dwelled on the\n specificities of embodiment and cultural, social and physical location with\n respect to digital technologies and networked communications. DAC09 was\n structured around themes, each theme being composed of panels. DAC09 was\n held in the Arts Plaza of the University of California Irvine. Simon Penny\n is director of DAC09.

\n

Introduction and Acknowledgements \ufffd Simon Penny

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ], - "collections": [ - { - "title": "Cognition and Creativity", - "identifier": "ace_dac09_cognition", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Digital arts and culture can engage the rich world of human imagination and social construction. This theme explores digital art, cultural production, and theory focused on creating\n new ideas, worlds, and visions. Cognition no longer refers to only \"what is inside the head\" - it is now seen as contextual, distributed across individuals and artifacts, and embodied.\n Relevant topics include: artificial intelligence (AI) and the arts, philosophy of mind, game AI, metaphor and analogy, narrative, poetics, neuroscience and the arts, creative systems,\n supports for human creativity, language and mind, emotion/affect, and related areas exploring relationships between cognitive science, digital culture, and the human condition.

\n

Theme Leader:
Fox Harrell, Assistant Professor, Digital Media
School of Literature, Communication and Culture, Georgia Institute of Technology
Director\n of the Imagination, Computation and Expression (ICE) Lab/Studio
Member of Graphics, Visualization, and Usability (GVU) Center
\n fox.harrell@lcc.gatech.edu\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Embodiment and Performativity", - "identifier": "ace_dac09_embodiment", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

The broader rubric for this theme touches on interaction design as well as the practices of media artists who develop dynamic and/or embodied processes for interactive artworks. The\n theme carries as well a strong interest in shared agency within the performativity of interaction, such that user and system co-construct interactions. In general, the papers in the\n theme explore co-constructed experiences across bodies and apparati, and across a mix of realities (for example, across \"first\" and \"second\" life). The theme points to concerns about\n computation carrying with it values that possibly work against the affective and embodied dimensions of digital media. Thus, several of the papers propose counter-values and\n counter-aesthetics, for example, by finding meaning in noise, by re-imagining the body/image that inhabits a virtual space, or by exploring forms of embodiment that challenge\n traditional representational aesthetics of the figure. Papers range from theorizing the audience and its role in actualizing an artwork, to considering the body as shared, rearranged\n and even immaterial in a technologically-saturated environment, to breaking with preconceptions about how the body is able to perform and which senses afford perception. The range of\n papers also speaks to how people in the different worlds of digital media - e.g. art, computation, design - can establish conceptual points of contact that enable bridging across\n domains.

\n

Theme Leaders:
Nell Tenhaaf, Associate Dean, Faculty of Fine Arts / Associate Professor, Department of Visual Arts York University tenhaaf@yorku.ca\n
Melanie Baljko, Department of Computer Science and Engineering, York University, mb@cs.yorku.ca\n
\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Environment / Sustainability / Climate Change", - "identifier": "ace_dac09_environment", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Today, humanity faces an urgent climate crisis. What impacts have the ubiquity of computers and computational representations of the environment had on public and scientific\n understandings in light of this crisis? As the Earth becomes mapped, tagged and digitized, what new relationships are emerging between climate, science and society?

\n

This theme invites the works of artists, researchers and scholars involved in decoding the complex relationships between people, nature and technology and in shaping social change in\n the age of climate crisis. Areas of interest include but are not limited to: ubiquitous, locative and mobile technology, sustainability, social entrepreneurship, scientific\n intervention and creative innovations.

\n

Theme Leader:
Andrea Polli
Director, Interdisciplinary Film and Digital Media (IFDM)
UNM Center for the Arts
\n apolli@unm.edu\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Associated Events", - "identifier": "ace_dac09_events", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Digital Arts and Culture 2009 was the 8th in an international series of\n conferences begun in 1998. DAC is recognized as an interdisciplinary event\n of high intellectual caliber. This iteration of DAC dwelled on the\n specificities of embodiment and cultural, social and physical location with\n respect to digital technologies and networked communications. DAC09 was\n structured around themes, each theme being composed of panels. DAC09 was\n held in the Arts Plaza of the University of California Irvine. Simon Penny\n is director of DAC09.

\n

Introduction and Acknowledgements \ufffd Simon Penny

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "The Present and Future of Humanist Inquiry in the Digital Field", - "identifier": "ace_dac09_humanist", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

What contributions may literary, poetic, and aesthetic idioms of humanist inquiry -- traditionally associated with problems of lyrical expression, narrativity, linguistic subjectivity,\n and authorial and readerly agencies -- continue to offer to the analysis of medial practices and systems in the era of mobile, distributed, and social media? The crux of this question,\n we propose, lies in the specifically historical purchase of humanist method: its ability to (re)situate new symbolic practices in complex and nuanced relation to prior traditions and\n atavisms of expressive language and action -- in contrast to the reductively progressivist, de-historicizing impulses of much of contemporary digitalism.

\n

Theme Leaders:
Terry Harpold, Assoc. Professor of English, Film & Media Studies, University of Florida (USA) tharpold@ufl.edu\n
Lisbeth Klastrup, Assoc. Professor, Innovative Communication Research Group, IT University of Copenhagen (Denmark) klastrup@itu.dk\n
Susana Tosca, Assoc. Professor, Digital Design & Communication, IT University of Copenhagen (Denmark) tosca@itu.dk\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "After Mobile Media", - "identifier": "ace_dac09_mobile", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

After Mobile Media invites artists, software developers, inventors and theorists to share their ideas on future mobile media. Which new forms of presence and communicational flows are\n mobile media creating? How do we proceed from here? Is qualitative change possible and if so, what is required to enable it ? Bold projects that explore aesthetics, ecologies,\n technologies, geo-politics and practices of mobile media and all forms of wireless technologies on all scales are welcome. In addition to exciting experiments and artworks on\n alternative mobile and networked media, we seek examples of local case studies, theoretical work on mobility and innovative evaluation strategies.

\n

Theme Leaders:
Kim Sawchuk, Associate Professor Department of Communication Studies, Concordia University.
co-founder and editor of wi: journal of\n mobile media.
Current director of Mobile Media Lab, Montreal.
\n kim.sawchuk@sympatico.ca.
Marc B\u00f6hlen. Associate Professor, Media Study, SUNY Buffalo. Director: MediaRobotics Lab marcbohlen@acm.org.

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Interdisciplinary Pedagogy", - "identifier": "ace_dac09_pedagogy", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Cross-disciplinary tactics are deeply embedded in contemporary culture, yet interdisciplinary pedagogy remains a problematic issue. While key disciplines are brought together in digital\n arts education, a gap exists between theory and cross-disciplinary practice, between formal education scenarios at academic institutions and the application of rapidly developing media\n technologies. Critical investigation focused on interdisciplinary pedagogy is a fundamental undertaking for the clarification of the existing situation and strategy development for the\n future. The panel is designed for academics and digital artists who wish to explore discourses, methodologies and philosophies associated with interdisciplinary approaches as they are\n applied to pedagogy. There are questions to be explored such as: What are some of the classes being taught in digital culture programs and what would we like to see? How do we\n understand the spectrum of different kinds of new media (or digital) art today? The panel provides a platform for interdisciplinary pedagogy including investigations through reference\n to collaborative work between artists and scientists and critical writing on arts/science projects and research. The primary aim of the educational panel is to address the disparity of\n various tendencies, showcase interdisciplinary and hybrid solutions and provoke a sustainable dialogue on contemporary educational issues between the practitioners in this field.

\n

Theme Leaders:
Cynthia Beth Rubin: cbr@cbrubin.net\n
Nina Czegledy: czegledy@interlog.com\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Plenaries: After Media \u2014 Embodiment and Context", - "identifier": "ace_dac09_plenaries", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Digital Arts and Culture 2009 was the 8th in an international series of\n conferences begun in 1998. DAC is recognized as an interdisciplinary event\n of high intellectual caliber. This iteration of DAC dwelled on the\n specificities of embodiment and cultural, social and physical location with\n respect to digital technologies and networked communications. DAC09 was\n structured around themes, each theme being composed of panels. DAC09 was\n held in the Arts Plaza of the University of California Irvine. Simon Penny\n is director of DAC09.

\n

Introduction and Acknowledgements \ufffd Simon Penny

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Sex and Sexuality", - "identifier": "ace_dac09_sex", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

The theme brings together artists and researchers interested in exploring the interconnections of sexuality, identity, and digital technology. This involves the ways in which digital\n media shapes and channels sexual desires and identifications, as well as the kinds of sexual dynamics that become attached to encounters with and through media technologies. Rather\n than being approached as mere instruments for exploring identities, sexualities, or desires, digital media is understood as facilitating certain kinds of interactions between people,\n technologies, representations, and platforms -- giving rise to new kinds of affective intensities, sociabilities, and networked experiences.

\n

The topics presented under the theme include gender, desire and identity in virtual worlds; epistemologies of transition; queer sexuality, aesthetics, and sexual politics;\n international pornography and cultural identity; biopower, knowledge production, and sexual practice; fetishes and fantasies of mechanicity; and sensuous intimacies with new\n technologies. This range of topics and approaches makes evident the complexity of issues categorized under the deceptively simple terms sex and sexuality. Unpacking these terms and\n their associations, the presentations in \"Sex and Sexuality\" open up new spaces for thinking about sexuality and technology beyond binary concepts like embodiment and disembodiment,\n the factual and the virtual, or the offline and the online -- revealing forms of mediated intimacy, sensuous intensity, and connective presence.

\n

Theme Leaders:
Susanna Paasonen, research fellow
Helsinki Collegium for Advanced Studies
\n spaasone@mappi.helsinki.fi\n
Jordan Crandall: actor@jordancrandall.com\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "Software / Platform Studies", - "identifier": "ace_dac09_software", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

Software is a layer of control and communication that permeates contemporary culture: the engine that drives cyberculture, new media, games, and digital art, as well as the work of\n businesses and militaries, typesetters and DJs. Platforms are the layers of hardware and software relationships that enable and constrain software expressions. Software studies and\n platform studies are related interdisciplinary fields of research that approach these topics both as technical artifacts and from the perspectives of the social sciences, humanities,\n and arts. What are the histories, cultures, and aesthetics of software and platforms? More specifically, for the papers collected here, to investigate the logics of visualization,\n simulation, and representation in contemporary digital arts and culture is to engage in software and platform studies.

\n

Critical engagements with software and platforms are always interrelated, although the emphasis can change significantly. Platform studies sometimes situates itself within a \"levels\"\n model of new media, in which the lowest level, platform, underpins code, form/function, interface, and reception/operation. The platform exerts creative constraint on the levels it\n supports through design specification. Consequently, platform studies investigates the relationships between the hardware and software design of computing systems and the creative\n works produced on those systems. These investigations can be bottom up or top down, running from the history of a specification to the consequences for enabled productions, or from a\n particular digital work back down to the platform that provides context and constraint for its unique implementation.

\n

Software studies investigates the interrelated questions of how software is implicated in culture at the macro-level and how software signifies at the micro-level. Different\n investigations have emphasized the data, execution, or source code aspects of software. The Cultural Analytics research agenda asks how software society (big data, network culture,\n etc.) functions as a whole, and seeks answers to large-scale cultural questions through the application of data-driven methodologies such as exploration, mining, and visualization.\n Expressive Processing investigates what specific software processes express, both in the concepts embodied in their designs and in the intellectual histories of their algorithms.\n Critical Code Studies emphasizes how those articulations are made and circulate in their pre-compiled state: the aesthetics of the programmer and the significance of the keyword or the\n comment.

\n

Current approaches to software studies and platform studies are richly varied in their different initial emphases, but all tend to lead in to a shared interdisciplinary emphasis on\n holistic study that brings cultural / historical vantage points to hardware and software, data and execution, production and reception.

\n

Theme Leaders:
Jeremy Douglass, PhD. Researcher in Software Studies at UCSD.
\n jeremydouglass@gmail.com\n
Noah Wardrip-Fruin, Assistant Professor, Computer Science Department, University of California, Santa Cruz.
\n nwf@ucsc.edu.

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - }, - { - "title": "A Space-time of Ubiquity and Embeddedness", - "identifier": "ace_dac09_space", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4a0ba513ef8ead01c5eb4dd29ff3201b227535e3ea3685c23a82f6c6c6cb3485" - }, - "properties": { - "about": "

This theme addresses the question of how material and affective bodies interface with the informational environments of contemporary mixed realities involving ubiquitous, pervasive, or\n tangible computing as well as implementations of real-time communicational systems. How do we, as artist-engineers, software developers, interaction designers, and critical theorists\n articulate, analyze, and evaluate the spatial and temporal 'interlacings,' 'augmentations,' and 'hybridizations' at stake in the mixed realities of specific digital art projects? When\n ubiquity tends towards 'calmly' intelligent embeddedness in the various folds and events of the lifeworld, does its effect remain irrevocably prior to or beyond embodied human\n awareness and affect? Or does calm embeddedness rather solicit more intense forms of temporalization, affective and sensate involvement, perceptual recognition, and conceptual\n explicitation?

\n

Theme leaders:
Ulrik Ekman, Assistant Professor, Department for Cultural Studies and the Arts University of Copenhagen. ekman@hum.ku.dk\n
Mark Hansen, Professor in the Program in Literature and in Information Science+Information Studies at Duke University. mh139@duke.edu\n

" - }, - "pages": [ - { - "slug": "introduction", - "title": "Introduction and Acknowledgements", - "body": "

The DAC conference series is internationally recognized for its progressive interdisciplinarity, its intellectual rigor and its responsiveness to emerging practices and trends. I am honored to have the opportunity to continue this tradition. My choice of title for this conference: After Media: Embodiment and Context captures a set of issues which I believe are of central concern to contemporary Digital Cultural Practices. After Media questions the value of the term Media Arts - a designation which in my opinion not only erroneously presents the practice as one concerned predominantly with manipulating media, but also leaves the question of what constitutes a medium in this context uninterrogated.

\n

Embodiment and Context focuses on biological, cultural, geographical and material specificity. Embodiment emphasises the fundamentally embodied nature of our being as the ground-reference for digital practices, and Context emphasises the realities of cultural, historical, geographical and gender-related specificities. Embodiment is deployed not only with respect to the biological, but also with reference to technology, as a corrective to the tendency within computational discourses towards largely uninterrogated Cartesianisms and Platonisms. Such concerns are addressed in contemporary cognitive science, anthropology and other fields which attend to the realities of the physical dimensions of cognition and culture. Context brings together site-specificity of cultural practices, the understandings of situated cognition and practices in locative media. The re-emergence of concerns with such locative and material specificity within the Digital Cultures community is foregrounded in such DAC09 Themes as Software and Platform Studies and Embodiment and Performativity.

\n

My goal for DAC09 was to create an event which was maximally responsive to the community, was intellectually rigorous and attentive to new trends and new voices. So prior to any call for paper proposals, we organized a call for proposals of Themes, offering the DAC community the opportunity to shape the internal thematics of the event. The Themes chosen for DAC09, around which this Proceedings is organised are: Embodiment and Performativity; After Mobile Media; Software/ Platform Studies; Environment/ Sustainability/ Climate Change; Interdisciplinary Pedagogy; Cognition and Creativity; Sex and Sexuality; Space-Time of Ubiquity and Embeddedness; and Present and Future of Humanist Inquiry in the Digital Field. These themes identify key concerns contemporary practice and theory in Digital Cultures. Along with exploring dimensions of each of these Themes, the papers submitted to the Themes exhibit interesting crossovers between themes and some meta-themes emerge including a preoccupation with design and a concern with interdisciplinary historicisation and the development of relevant historiographical methods. The conference structure includes morning plenary sessions which have been designed to introduce the various themes and to draw out emergent meta-themes.

\n

Administratively, I aspired to a flat, distributed and horizontal structure which leveraged web based automation and supported anonymous peer review. We built an ambitious online automated peer review process for two successive review processes. 400 paper proposals were reviewed, and from these, around 150 papers were invited and subject to a similarly rigorous review/editorial process. The efforts of the Theme Leaders:\n \tNell Tenhaaf, Melanie Baljko, Kim Sawchuk, Marc Bhlen, Jeremy Douglass, Noah Wardrip-Fruin, Andrea Polli, Cynthia Beth Rubin, Nina Czegledy, Fox Harrell, Susanna Paasonen, Jordan Crandall, Ulrik Ekman, Mark Hansen, Terry Harpold, Lisbeth Klastrup, and Susana Tosca; in this process was substantial and in many cases the authors benefited from valuable editorial support, the result of which is demonstrated in this excellent collection.

\n

Around the conference proceedings proper are situated three specially organized events showcasing various realms of practice relevant to DAC. The Beall Center for Art and Technology offer an exhibition of Artificial Life Art Emergence curated by Simon Penny and David Familian. Michael Dessen and Chris Dobrian organised Latent Potentials, a telematic music performance night, and Mark Marino and Jessica Pressman organised a night of Electronic Literature Performance.

\n

The DAC events are known for a convivial scale which promotes meaningful exchange in and around the conference venues. I am therefore grateful to Alan Terricicano, Dean of the Claire Trevor Schools of the Arts, for the opportunity to situate the event in the Maya Lin Plaza, which centers the event tightly around Winifred Smith Hall and the Beall Center for Art and Technology, with the Cyberarts caf\u00e9 providing refreshments and a social hub.

\n

The academic and cultural aspects of DAC09 have depended almost entirely on volunteer labor, bases in Southern California and across the country and the planet. This is itself has involved substantial organisation. Like any such extended and ambitious project, events sometimes did not proceed smoothly. The UC budget crisis, the state, national and global economic downturn certainly has'nt helped matters. More than once, circumstances have conspired against us, in the form of technical breakdowns, external management issues and illness. I am grateful for the patience, goodwill and sheer hard work of my colleagues who have persevered in this project with me. I would particularly like to credit my closest partner in this project, Ward Smith, Information Systems Manager for DAC09, who has managed electronics communications from the outset, including web design and the review and paper submission processes. I have nothing but praise for his intelligence, conscientiousness, decorum and goodwill over two years of collaboration. As new members of the local team in recent months, the effort, acumen and commitment of Elizabeth Losh and Sean Voisen has been invaluable. The DAC09 Event Organisers - David Familian, Michael Dessen, Chris Dobrian, Mark Marino and Jessica Pressman - have enriched the conference with a veritable smorgasboard of cultural events. The work of these people, along with the Theme Leaders have made this conference what it is.

\n

I am grateful also to several UCI and UC units and to their leaders for their support in times when University resources are sparse: Larry Smarr, Director of CALIT2; G. P. Li, Director of CALIT2 (UCI Division); David Theo Goldberg, Director of the University of California Humanities Research Institute; Susan Bryant, Vice Chancellor for Research UCI, Mark Warner (Associate Vice Chancellor for Administration, Office of the Vice Chancellor for Research); Debra Richardson, Dean of the Bren School of Information and Computer Science UCI; Alan Terricciano, Dean, Claire Trevor School of the Arts UCI, and Vicky Ruiz, Dean of the UCI School of Humanities, UCI.\n 34\tThanks are due also to Bill Cohen and Cassandra Jue Low of the Bren School Information and Computer Science; to Toby Weiner and Jason Valdry of the Claire Trevor School of the Arts, and to many other staff members who have lent support.

\n

My general goal for DAC09 was to present work of the highest possible intellectual quality and relevance to conference attendees, while drawing our emerging concerns and offering exposure to new voices into the community. This document I feel demonstrates some success in that goal, which attests to the expertise and efforts of all involved.

\n

Simon Penny,
Director, DAC09

" - } - ] - } - ] - } - ] - }, - { - "title": "Center for Environmental Biology", - "identifier": "ceb", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a5a7fe6422ddc00fec635280b97d34824a01e93e25e6dd3e3bee1f5d470880bf" - }, - "properties": { - "about": "

\n The mission of the Center for Environmental Biology (CEB) is to link academic research with ecosystem management and stewardship of natural resources, and to educate the next generation of environmental biologists and stewards. We conduct collaborative research projects with partner organizations, such as Crystal Cove State Park, Crystal Cove Alliance, Irvine Ranch Conservancy, and Back Bay Science Center, to develop best practices for restoration and conservation. The CEB internship program engages students in authentic environmental research and outreach experiences to enhance their expertise in science, education, and outreach, especially related to the management of natural resources. \n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The mission of the Center for Environmental Biology (CEB) is to link academic research with ecosystem management and stewardship of natural resources, and to educate the next generation of environmental biologists and stewards. We conduct collaborative research projects with partner organizations, such as Crystal Cove State Park, Crystal Cove Alliance, Irvine Ranch Conservancy, and Back Bay Science Center, to develop best practices for restoration and conservation. The CEB internship program engages students in authentic environmental research and outreach experiences to enhance their expertise in science, education, and outreach, especially related to the management of natural resources.

\n

http://ceb.bio.uci.edu/

\n

http://ceb.bio.uci.edu/partners/

\n

http://ceb.bio.uci.edu/intern-programs/

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "http://ceb.bio.uci.edu/people/" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Environmental Biology only publishes materials about work conducted under the auspices of the Center for Environmental Biology. The editors reserve the right to determine the suitability of submissions. For additional information, please contact skimball@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: skimball@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator skimball@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "ceb_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/85fdb0c4446b687df9258a88ae2400251de2a29252ace7c670c3fa95e0c36eab" - }, - "properties": { - "about": "

\n The mission of the Center for Environmental Biology (CEB) is to link academic research with ecosystem management and stewardship of natural resources, and to educate the next generation of environmental biologists and stewards. We conduct collaborative research projects with partner organizations, such as Crystal Cove State Park, Crystal Cove Alliance, Irvine Ranch Conservancy, and Back Bay Science Center, to develop best practices for restoration and conservation. The CEB internship program engages students in authentic environmental research and outreach experiences to enhance their expertise in science, education, and outreach, especially related to the management of natural resources. \n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The mission of the Center for Environmental Biology (CEB) is to link academic research with ecosystem management and stewardship of natural resources, and to educate the next generation of environmental biologists and stewards. We conduct collaborative research projects with partner organizations, such as Crystal Cove State Park, Crystal Cove Alliance, Irvine Ranch Conservancy, and Back Bay Science Center, to develop best practices for restoration and conservation. The CEB internship program engages students in authentic environmental research and outreach experiences to enhance their expertise in science, education, and outreach, especially related to the management of natural resources.

\n

http://ceb.bio.uci.edu/

\n

http://ceb.bio.uci.edu/partners/

\n

http://ceb.bio.uci.edu/intern-programs/

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "http://ceb.bio.uci.edu/people/" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Environmental Biology only publishes materials about work conducted under the auspices of the Center for Environmental Biology. The editors reserve the right to determine the suitability of submissions. For additional information, please contact skimball@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: skimball@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator skimball@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Center for Learning in the Arts, Sciences and Sustainability", - "identifier": "class", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5728b537da32da6492bb76df13559166193e16017bed04aefb3992bf1b55f51c" - }, - "properties": { - "about": "

Originally established as \"The da Vinci Center\" at the University of California, Irvine in 2001, the Center for Learning in the Arts, Sciences, and Sustainability fosters interdisciplinary studies that support enhanced teaching and learning at the K-12 and university levels.

\n

Liane Brouillette and Bradley Hughes, Co-Directors
Center for Learning in the Arts, Sciences and Sustainability
University of California, Irvine
School of Biological Sciences III
Offices 2654/2656
Irvine, CA 92697-1480
www.class.uci.edu

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

Removal

\n

eScholarship and the Center for Learning in the Arts, Sciences and Sustainability do not generally support the removal of publications once posted. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL. If you would like your work removed from eScholarship, please contact the system administrator at maburns@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the Repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Maureen Burns at maburns@uci.edu.
  2. \n
  3. Write an abstract for your paper that is 500 words or less. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Maureen Burns at maburns@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact Maureen Burns at maburns@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Maureen Burns at maburns@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Maureen Burns at maburns@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "ArtsBridge America", - "identifier": "class_artsbridge", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5728b537da32da6492bb76df13559166193e16017bed04aefb3992bf1b55f51c" - }, - "properties": { - "about": "

Originally established as \"The da Vinci Center\" at the University of California, Irvine in 2001, the Center for Learning in the Arts, Sciences, and Sustainability fosters interdisciplinary studies that support enhanced teaching and learning at the K-12 and university levels.

\n

Liane Brouillette and Bradley Hughes, Co-Directors
Center for Learning in the Arts, Sciences and Sustainability
University of California, Irvine
School of Biological Sciences III
Offices 2654/2656
Irvine, CA 92697-1480
www.class.uci.edu

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

Removal

\n

eScholarship and the Center for Learning in the Arts, Sciences and Sustainability do not generally support the removal of publications once posted. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL. If you would like your work removed from eScholarship, please contact the system administrator at maburns@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the Repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Maureen Burns at maburns@uci.edu.
  2. \n
  3. Write an abstract for your paper that is 500 words or less. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Maureen Burns at maburns@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact Maureen Burns at maburns@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Maureen Burns at maburns@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Maureen Burns at maburns@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Learning in the Arts and Sciences", - "identifier": "class_las", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5728b537da32da6492bb76df13559166193e16017bed04aefb3992bf1b55f51c" - }, - "properties": { - "about": "

Originally established as \"The da Vinci Center\" at the University of California, Irvine in 2001, the Center for Learning in the Arts, Sciences, and Sustainability fosters interdisciplinary studies that support enhanced teaching and learning at the K-12 and university levels.

\n

Liane Brouillette and Bradley Hughes, Co-Directors
Center for Learning in the Arts, Sciences and Sustainability
University of California, Irvine
School of Biological Sciences III
Offices 2654/2656
Irvine, CA 92697-1480
www.class.uci.edu

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

Removal

\n

eScholarship and the Center for Learning in the Arts, Sciences and Sustainability do not generally support the removal of publications once posted. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL. If you would like your work removed from eScholarship, please contact the system administrator at maburns@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the Repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Maureen Burns at maburns@uci.edu.
  2. \n
  3. Write an abstract for your paper that is 500 words or less. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Maureen Burns at maburns@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact Maureen Burns at maburns@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Maureen Burns at maburns@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Maureen Burns at maburns@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Teaching and Learning", - "identifier": "class_teaching", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5728b537da32da6492bb76df13559166193e16017bed04aefb3992bf1b55f51c" - }, - "properties": { - "about": "

Originally established as \"The da Vinci Center\" at the University of California, Irvine in 2001, the Center for Learning in the Arts, Sciences, and Sustainability fosters interdisciplinary studies that support enhanced teaching and learning at the K-12 and university levels.

\n

Liane Brouillette and Bradley Hughes, Co-Directors
Center for Learning in the Arts, Sciences and Sustainability
University of California, Irvine
School of Biological Sciences III
Offices 2654/2656
Irvine, CA 92697-1480
www.class.uci.edu

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

Removal

\n

eScholarship and the Center for Learning in the Arts, Sciences and Sustainability do not generally support the removal of publications once posted. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL. If you would like your work removed from eScholarship, please contact the system administrator at maburns@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the Repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Learning in the Arts, Sciences and Sustainability publishes work that explores the nexus of relationships among education, research on learning, and the arts. Learning through the Arts: An On-line Research Journal on Arts Integration in Schools and Communities invites articles from researchers, university faculty, teaching artists, and school district personnel. For additional information, please contact Maureen Burns at maburns@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Maureen Burns at maburns@uci.edu.
  2. \n
  3. Write an abstract for your paper that is 500 words or less. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Maureen Burns at maburns@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact Maureen Burns at maburns@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Maureen Burns at maburns@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Maureen Burns at maburns@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for Pervasive Communications and Computing", - "identifier": "cpcc", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/87f48e2fb052d171213c64411ff2cfa7e4952f45300b94cf22bf062909bfb898" - }, - "properties": { - "about": "

This is the website for papers published by the Center for Pervasive Communications and Computing at the University of California, Irvine.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

CPCC only publishes materials about work conducted under the auspices of CPCC. For additional information, please contact syed@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at syed@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

CPCC only publishes materials about work conducted under the auspices of CPCC. For additional information, please contact syed@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to syed@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact syed@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to syed@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "cpcc_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/87f48e2fb052d171213c64411ff2cfa7e4952f45300b94cf22bf062909bfb898" - }, - "properties": { - "about": "

This is the website for papers published by the Center for Pervasive Communications and Computing at the University of California, Irvine.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

CPCC only publishes materials about work conducted under the auspices of CPCC. For additional information, please contact syed@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at syed@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

CPCC only publishes materials about work conducted under the auspices of CPCC. For additional information, please contact syed@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to syed@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact syed@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to syed@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for Research on Information Technology and Organizations", - "identifier": "crito", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "I.T. in Business", - "identifier": "crito_business", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "I.T. in Education", - "identifier": "crito_education", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Globalization of I.T.", - "identifier": "crito_globalization", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "I.T. in Government", - "identifier": "crito_government", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "I.T. in the Home", - "identifier": "crito_home", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "People, Organizations, and Information Technology", - "identifier": "crito_people", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/45ca8f5eb436b8953eb5ed833dff46a4dbabe7830122fe0a03b07f7e1e154479" - }, - "properties": { - "about": "

\n The Center for Research on Information Technology and Organizations (CRITO) is a multidisciplinary research unit at the University of California, Irvine. CRITO conducts theoretical and empirical research to answer a broad array of questions related to the use, impact, and management of information technology in organizations. The Center's core group of investigators at UCI is comprised of faculty from several different disciplines including Graduate School of Management (GSM), Department of Information and Computer Science (ICS), School of Social Sciences, Department of Education. CRITO researchers pursue studies of the organizational implications of information technology, management of information technology, and technology policy and societal issues.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the CRITO website at www.crito.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Information Technology and Organizations only publishes materials about work conducted under the auspices of the Center for Research on Information Technology and Organizations. For additional information, please contact CRITO's repository administrator at davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact CRITO's repository administrator at davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to CRITO's repository administrator at davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact CRITO's repository administrator atdavidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to CRITO's repository administrator at davidson@uci.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to CRITO's repository administrator at davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for Research on Latinos in a Global Society", - "identifier": "crlgs", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5336b7a8ad96a056e8f00e97a542a49b69073e0ea3fbb607b5c4fbb57b8be7ab" - }, - "properties": { - "about": "

\n Interdisciplinary research in Chicano/Latino Studies is conducted under the auspices of the Center for Research on Latinos in a Global Society (CRLGS). Its multifold goals are: (1) to examine the emerging role of Latinos as actors in global economic, political, and cultural events; (2) to promote Latino scholarship; (3) to enhance the quality of research in Latino studies; (4) to provide a forum for intellectual exchange and the disseminiation of research findings; and (5) to promote the participation of undergraduate and graduate students in research on Latino issues. The use of the term \"global society\" underscores the faculty's perception that, as a society, the United States is becoming \"globalized,\" meaning that it is increasingly affected by worldwide economic, political, demographic, and cultural forces and that Latinos are at the center of this. Latinos in the United States, individually and as a socio-political group, play important roles in the multiple processes\u2014immigration, trade, international capital flow, and international political movements\u2014which are changing the traditional demarcation between domestic and foreign, and national and international politics, economics and society.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

CRLGS only publishes materials about work conducted under the auspices of CRLGS. For additional information, please contact crlgs@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at crlgs@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. Authors must read and agree to the terms of the repository. The agreement is located at the following link (see copyright link). Please download, read, sign and fax it to CRLGS at (949) 824-1019 and send the original agreement to:

\n

University of California, Irvine
The Center for Research on Latinos in a Global Society
School of Social Sciences
3151 Social Science Plaza-(SST 383)
Irvine, CA 92697-5100

\n

You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement (see copyright link).

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Latinos in a Global Society (CRLGS) only publishes materials about work conducted under the auspices of CRLGS. For additional information, please contact crlgs@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact crlgs@uci.edu.
  2. \n
  3. Write an abstract for your paper. Which is approximately 6\"x 2.5\" inches in length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to crlgs@uci.edu. Include in an email message [OR CREATE A COVER PAGE FOR YOUR PAPER WITH] the following things: abstract; keywords; and name, title, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact crlgs@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to crlgs@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "crlgs_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5336b7a8ad96a056e8f00e97a542a49b69073e0ea3fbb607b5c4fbb57b8be7ab" - }, - "properties": { - "about": "

\n Interdisciplinary research in Chicano/Latino Studies is conducted under the auspices of the Center for Research on Latinos in a Global Society (CRLGS). Its multifold goals are: (1) to examine the emerging role of Latinos as actors in global economic, political, and cultural events; (2) to promote Latino scholarship; (3) to enhance the quality of research in Latino studies; (4) to provide a forum for intellectual exchange and the disseminiation of research findings; and (5) to promote the participation of undergraduate and graduate students in research on Latino issues. The use of the term \"global society\" underscores the faculty's perception that, as a society, the United States is becoming \"globalized,\" meaning that it is increasingly affected by worldwide economic, political, demographic, and cultural forces and that Latinos are at the center of this. Latinos in the United States, individually and as a socio-political group, play important roles in the multiple processes\u2014immigration, trade, international capital flow, and international political movements\u2014which are changing the traditional demarcation between domestic and foreign, and national and international politics, economics and society.\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

CRLGS only publishes materials about work conducted under the auspices of CRLGS. For additional information, please contact crlgs@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at crlgs@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. Authors must read and agree to the terms of the repository. The agreement is located at the following link (see copyright link). Please download, read, sign and fax it to CRLGS at (949) 824-1019 and send the original agreement to:

\n

University of California, Irvine
The Center for Research on Latinos in a Global Society
School of Social Sciences
3151 Social Science Plaza-(SST 383)
Irvine, CA 92697-5100

\n

You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement (see copyright link).

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Latinos in a Global Society (CRLGS) only publishes materials about work conducted under the auspices of CRLGS. For additional information, please contact crlgs@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact crlgs@uci.edu.
  2. \n
  3. Write an abstract for your paper. Which is approximately 6\"x 2.5\" inches in length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to crlgs@uci.edu. Include in an email message [OR CREATE A COVER PAGE FOR YOUR PAPER WITH] the following things: abstract; keywords; and name, title, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact crlgs@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to crlgs@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for the Study of Democracy", - "identifier": "csd", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0fd1cc6352407c433071fcb4bba41db8712aca319e2e0f80cf3492d4303b9fb2" - }, - "properties": { - "about": "

\n The Center for the Study of Democracy at UC Irvine publishes working papers on topics of empirical democratic studies. Like the Center itself, the topics may range from the problems of democratic transitions to the expansion of the democratic process in advanced industrial democracies. The series is multidisciplinary in its research approach, as well as diverse in its definition of democratization topics.\n

\n" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for the Study of Democracy only publishes materials about work conducted under the auspices of the Center. For additional information, please contact csd@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at csd@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

We do not ask authors to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. It is necessary that you agree to the terms of publishing in the repository listed in the author agreement: http://www.democ.uci.edu/authors.doc.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for the Study of Democracy, UC Irvine only publishes materials about work conducted under the auspices of the Center. For additional information, please contact democracy@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Wordperfect, or Rich Text Format (RTF).
    If you use a word-processing program other than Microsoft Word or Wordperfect, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact csd@uci.edu.
  2. \n
  3. Write an abstract for your paper. The typical abstract is one paragraph long, 150-250 words. Please also list keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to csd@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact us at the above email addresses.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will do a very basic check for formatting and completeness. Then we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

" - } - ], - "collections": [ - { - "title": "CSD Working Papers", - "identifier": "csd_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0fd1cc6352407c433071fcb4bba41db8712aca319e2e0f80cf3492d4303b9fb2" - }, - "properties": { - "about": "

\n The Center for the Study of Democracy at UC Irvine publishes working papers on topics of empirical democratic studies. Like the Center itself, the topics may range from the problems of democratic transitions to the expansion of the democratic process in advanced industrial democracies. The series is multidisciplinary in its research approach, as well as diverse in its definition of democratization topics.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for the Study of Democracy only publishes materials about work conducted under the auspices of the Center. For additional information, please contact csd@uci.edu\".

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at csd@uci.edu\". However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

We do not ask authors to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. It is necessary that you agree to the terms of publishing in the repository listed in the author agreement: http://www.democ.uci.edu/authors.doc.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for the Study of Democracy, UC Irvine only publishes materials about work conducted under the auspices of the Center. For additional information, please contact csd@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Wordperfect, or Rich Text Format (RTF).
    If you use a word-processing program other than Microsoft Word or Wordperfect, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact csd@uci.edu.
  2. \n
  3. Write an abstract for your paper. The typical abstract is one paragraph long, 150-250 words. Please also list keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to csd@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact us at the above email addresses.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will do a very basic check for formatting and completeness. Then we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

" - } - ] - }, - { - "title": "Symposium: Democracy and Its Development 2005-2011", - "identifier": "csd_symposium_dd", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0fd1cc6352407c433071fcb4bba41db8712aca319e2e0f80cf3492d4303b9fb2" - }, - "properties": { - "about": "

\n The Center for the Study of Democracy at UC Irvine publishes working papers on topics of empirical democratic studies. Like the Center itself, the topics may range from the problems of democratic transitions to the expansion of the democratic process in advanced industrial democracies. The series is multidisciplinary in its research approach, as well as diverse in its definition of democratization topics.\n

\n

\n The CSD newsletters and research papers of the Center published before July 2001 are available on the CSD website at the University of California, Irvine.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for the Study of Democracy only publishes materials about work conducted under the auspices of the Center. For additional information, please contact csd@uci.edu\".

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at csd@uci.edu\". However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

We do not ask authors to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. It is necessary that you agree to the terms of publishing in the repository listed in the author agreement: http://www.democ.uci.edu/authors.doc.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for the Study of Democracy, UC Irvine only publishes materials about work conducted under the auspices of the Center. For additional information, please contact csd@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Wordperfect, or Rich Text Format (RTF).
    If you use a word-processing program other than Microsoft Word or Wordperfect, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact csd@uci.edu.
  2. \n
  3. Write an abstract for your paper. The typical abstract is one paragraph long, 150-250 words. Please also list keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to csd@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact us at the above email addresses.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will do a very basic check for formatting and completeness. Then we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

" - } - ] - } - ] - }, - { - "title": "Center for Unconventional Security Affairs", - "identifier": "cusa", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0723f48e290b5ab184cfec7a866539fa1e3ae36bca4826d6b6d4bb5f7f04909f" - }, - "properties": { - "about": "

The Center for Unconventional Security Affairs serves as the hub of a global network of academics and practitioners that studies and develops solutions to human and environmental security challenges. Through basic, translational and applied research, we leverage emerging technologies to better understand and meet the most urgent needs of current and future generations. Our innovative education and learning programs inspire, train and develop future leaders and entrepreneurs to further this work throughout their lifetimes.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About CUSA", - "body": "

Global environmental change, technological diffusion, economic globalization and the spread of democracy have dramatically transformed the global landscape, creating new threats to human welfare and security along with new opportunities for human development and well-being.

\n

While the incidence of interstate war has declined dramatically, unconventional threats have moved up the agenda, such as unprecedented water stress, climate change, pandemic disease, cybercrime and complex disasters. At the same time, remarkable opportunities have emerged for new, transformative forms of research, innovation and engagement that can promote sustainability, build peace, alleviate poverty and advance public health.

\n

The Center for Unconventional Security Affairs (CUSA) was established in 2003 at the University of California, Irvine. Its Unconventional Security Research Group studies and develops solutions to unconventional security challenges related to environmental degradation and climate change. Its Transformational Media Lab explores the role of information and communication technology in addressing environmental and human security challenges of the 21st Century.\u00a0CUSA\u2019s eARTh Studio provides a platform for artists who create art informed by these issues.

\n

CUSA also focuses on supporting leaders in the business, government and non-profit communities who are trying to address environmental and other global challenges, and on educating the next generation of leaders by integrating students into all aspects of the Center\u2019s research and engagement activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Center for Unconventional Security Affairs
5548 Social and Behavioral Sciences Gateway
Irvine, CA 92697
949.824.8804
cusa@uci.edu
" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

CUSA only publishes materials about work conducted under the auspices of CUSA. For additional information, please contact CUSA@UCI.edu

\n

Removal

\n

eScholarship does not generally support the removal of publications once posted. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact us.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 3 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement, to be obtained from system administrator at cusa@uci.edu or download it HERE.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

CUSA only publishes materials about work conducted under the auspices of CUSA. For additional information, please contact\u00a0cusa@uci.edu.

\n

How to Submit a Paper

\n

Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If need be, we can convert files from some programs into an acceptable format. Please contact\u00a0cusa@uci.edu.

\n

Write an abstract for your paper. Abstracts must be under 100 words in length. Please also select keywords. These are words that will help a user locate your paper through a search.

\n

Submit the paper by emailing it to cusa@uci.edu. Include in an email message the following information: abstract; keywords; and name, affiliation (department and university), and email address for each author.

\n

NOTE: CUSA does not accept unsolicited working papers.

\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to\u00a0cusa@uci.edu\u00a0as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted. If CUSA does not receive a response within 5 days, we will post your paper in its originally submitted form.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to\u00a0cusa@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "cusa_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0723f48e290b5ab184cfec7a866539fa1e3ae36bca4826d6b6d4bb5f7f04909f" - }, - "properties": { - "about": "

The Center for Unconventional Security Affairs serves as the hub of a global network of academics and practitioners that studies and develops solutions to human and environmental security challenges. Through basic, translational and applied research, we leverage emerging technologies to better understand and meet the most urgent needs of current and future generations. Our innovative education and learning programs inspire, train and develop future leaders and entrepreneurs to further this work throughout their lifetimes.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About CUSA", - "body": "

Global environmental change, technological diffusion, economic globalization and the spread of democracy have dramatically transformed the global landscape, creating new threats to human welfare and security along with new opportunities for human development and well-being.

\n

While the incidence of interstate war has declined dramatically, unconventional threats have moved up the agenda, such as unprecedented water stress, climate change, pandemic disease, cybercrime and complex disasters. At the same time, remarkable opportunities have emerged for new, transformative forms of research, innovation and engagement that can promote sustainability, build peace, alleviate poverty and advance public health.

\n

The Center for Unconventional Security Affairs (CUSA) was established in 2003 at the University of California, Irvine. Its Unconventional Security Research Group studies and develops solutions to unconventional security challenges related to environmental degradation and climate change. Its Transformational Media Lab explores the role of information and communication technology in addressing environmental and human security challenges of the 21st Century.\u00a0CUSA\u2019s eARTh Studio provides a platform for artists who create art informed by these issues.

\n

CUSA also focuses on supporting leaders in the business, government and non-profit communities who are trying to address environmental and other global challenges, and on educating the next generation of leaders by integrating students into all aspects of the Center\u2019s research and engagement activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Center for Unconventional Security Affairs
5548 Social and Behavioral Sciences Gateway
Irvine, CA 92697
949.824.8804
cusa@uci.edu
" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

CUSA only publishes materials about work conducted under the auspices of CUSA. For additional information, please contact CUSA@UCI.edu

\n

Removal

\n

eScholarship does not generally support the removal of publications once posted. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact us.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 3 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement, to be obtained from system administrator at cusa@uci.edu or download it HERE.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

CUSA only publishes materials about work conducted under the auspices of CUSA. For additional information, please contact\u00a0cusa@uci.edu.

\n

How to Submit a Paper

\n

Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If need be, we can convert files from some programs into an acceptable format. Please contact\u00a0cusa@uci.edu.

\n

Write an abstract for your paper. Abstracts must be under 100 words in length. Please also select keywords. These are words that will help a user locate your paper through a search.

\n

Submit the paper by emailing it to cusa@uci.edu. Include in an email message the following information: abstract; keywords; and name, affiliation (department and university), and email address for each author.

\n

NOTE: CUSA does not accept unsolicited working papers.

\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to\u00a0cusa@uci.edu\u00a0as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted. If CUSA does not receive a response within 5 days, we will post your paper in its originally submitted form.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to\u00a0cusa@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "FlashPoints", - "identifier": "flashpoints", - "schema": "nglp:series", - "properties": { - "about": "

FlashPoints is a series of books in literary studies intended to encourage innovative scholarship and to reach an interdisciplinary audience. The series solicits books that consider literature beyond strictly national and disciplinary frameworks, distinguished both by their historical grounding and their theoretical and conceptual strength. We seek studies that engage theory without losing touch with history, and work historically without falling into uncritical positivism. FlashPoints will aim for a broad audience within the humanities and the social sciences concerned with moments of cultural emergence and transformation. In a Benjaminian mode, FlashPoints is interested in how literature contributes to forming new constellations of culture and history, and in how such formations function critically and politically in the present.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About FlashPoints: A Series in Literary Studies", - "body": "

FlashPoints is a series of books in literary studies intended to encourage innovative scholarship and to reach an interdisciplinary audience. The series solicits books that consider literature beyond strictly national and disciplinary frameworks, distinguished both by their historical grounding and their theoretical and conceptual strength. We seek studies that engage theory without losing touch with history, and work historically without falling into uncritical positivism. FlashPoints will aim for a broad audience within the humanities and the social sciences concerned with moments of cultural emergence and transformation. In a Benjaminian mode, FlashPoints is interested in how literature contributes to forming new constellations of culture and history, and in how such formations function critically and politically in the present.

\n

All titles in the FlashPoints series will appear in open-access electronic versions available through the University of California Digital Library and in well-designed paperbound copies for library and individual acquisition. The series will be administered by an editorial group composed of faculty. Books in the series will be rigorously peer reviewed and will be approved for publication by the Editorial Committee of Northwestern University Press. Inquiries and submissions can be directed to the series at Sgillman@ucsc.edu.

\n

\u201cFlashPoints is a savvy, stylish, and timely intervention at a critical moment in literary and cultural studies. The series, an open invitation to intellectual boundary crossing, straddles the digital and print worlds and will attract unusually broad interest. After many lean years, this is one of the most promising new developments in the humanities.\u201d
\u2014Stephen Greenblatt, Cogan University Professor of the Humanities, Harvard University

\n

\u201cFlashPoints is a wonderful initiative. It puts the University of California Press at the forefront of new humanities publishing projects. The free online version will, I am confident, not only make these books more widely available, but also sell more hard copies too. Double publication of this sort is the way of the future for books in the humanities. I applaud the enterprise of the enterprise of the FlashPoints editorial group.\u201d
\u2014J. Hillis Miller, Distinguished Professor of English and Comparative Literature, UC Irvine

\n

\u201cIt is a pleasure to hear that the University of California Press is re-entering publication in literary studies. The quality of the editorial group assures that first-rate work will be forthcoming. Congratulations.\u201d
\u2014Hayden White, Professor of Comparative Literature and German Studies, Stanford University

\n

\u201cI think this is an excellent solution to the current crisis in humanities publishing. It will also reestablish UC Press's important commitment to scholarship in literature and the humanities.\u201d
\u2014Michael Davidson, Professor of Literature, UC San Diego

\n

\u201cWith this series, I believe UC Press can have a genuine and lasting impact on the publishing field not only in the area of literary studies but on academic publishing in general.\u201d
\u2014George Van Den Abbeele, Dean of Humanities, UC Irvine

" - }, - { - "slug": "advisory-board", - "title": "Advisory Board", - "body": "

Emily Apter

\n

Mieke Bal

\n

Ali Behdad

\n

Lauren Berlant

\n

Ross Chambers

\n

Yvette Christians\u00eb

\n

James Clifford

\n

Margaret Cohen

\n

Michael Davidson

\n

Carla Freccero

\n

Wlad Godzich

\n

David Theo Goldberg

\n

Donna Jones

\n

George Lipsitz

\n

Alan Liu

\n

Steven Mailloux

\n

J. Hillis Miller

\n

Jean-Michel Rabat\u00e9

\n

Jos\u00e9 David Sald\u00edvar

\n

Shu-mei Shih

\n

Julia Simon

\n

Eric Sundquist

\n

Georges Van Den Abbeele

\n

Hayden White

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Susan Gillman
FlashPoints Series Coordinator
Sgillman@ucsc.edu" - }, - { - "slug": "editorial-board", - "title": "Editorial Board", - "body": "

Ali Behdad, Editor Emeritus
Comparative Literature, UCLA

\n

Judith Butler, Editor Emerita
Rhetoric and Comparative Literature, UC Berkeley/Columbia University

\n

Michelle Clayton
Hispanic Studies and Comparative Literature, Brown University

\n

Edward Dimendberg
Film & Media Studies, Visual Studies, European Languages and Studies, UC Irvine

\n

Catherine Gallagher, Editor Emerita
English, UC Berkeley

\n

Nouri Gana
Comparative Literature, Near Eastern Languages and Cultures, UCLA

\n

Susan Gillman, Series Coordinator
Literature, UC Santa Cruz

\n

Jody Greene
Literature, UC Santa Cruz

\n

Richard Terdiman, Founding Editor
Literature, UC Santa Cruz

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

FlashPoints only publishes materials about work conducted under the auspices of FlashPoints. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Sgillman@ucsc.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: Sgillman@ucsc.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator Sgillman@ucsc.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "All submissions should be directed to Sgillman@ucsc.edu. Note that if a manuscript is approved for publication, the author will need to provide digital files suitable for printing." - } - ] - }, - { - "title": "Humanities Honors Program ", - "identifier": "hhpthesis", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/153bca541f728a8c9918a86f537c76e31ae416a4467744934b4b58d2e68392ec" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "UC Irvine\u2019s Humanities Honors Program nurtures the intellectual lives of top undergraduates in the School of Humanities. Embracing values of curiosity, critical inquiry, creativity, and collaboration, this two-year program builds multilogues across disciplines through a year-long series of interdisciplinary seminars followed by a year of independent work culminating in a senior thesis. Work on the thesis, though typically mounted within a single field, is developed through formal conversation and exchange with other students who might be tilling very different fields. Critical theory, one of UC Irvine\u2019s traditional strengths, often provides a common language across very different projects. Thesis writers read and respond to one another\u2019s writing throughout the year while also reflecting on the purpose behind their own work. Thus each individual thesis is shaped in a dynamic and multi\u2014dimensional environment of critical inquiry that in itself speaks to the ongoing value and relevance of the humanities.as it fosters values crucial to modern democracy: empathy, imagination, critical debate, and balance between active self-reflection and opening outwards into the world of others. Written under the direction of generous, committed faculty in the School of Humanities, the theses published on this site embody these values even as they make original contributions to urgent conversations currently unfolding in the academy and beyond. https://www.humanities.uci.edu/undergrad/opportunities/honors.php" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "UC Irvine Humanities Honors Program
Humanities Instructional Building 147
University of California, Irvine
Irvine, CA 92697
(949) 824-5132
jelewis@uci.edu
eggreen@uci.edu
" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Humanities Honors Programonly publishes materials about work conducted under the auspices of the Humanities Honors Program. The editors reserve the right to determine the suitability of submissions. For additional information, please contact jelewis@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: jelewis@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: jelewis@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Theses must be submitted in PDF form, following either the Chicago or MLA Style." - } - ], - "collections": [ - { - "title": "Humanities Honors Theses 2017", - "identifier": "hhpthesis_17theses", - "schema": "nglp:series" - }, - { - "title": "Humanities Honors Theses 2018", - "identifier": "hhpthesis_18theses", - "schema": "nglp:series", - "properties": { - "about": "
About Humanities Honors Theses 2018
" - } - }, - { - "title": "Humanities Honors Theses 2019", - "identifier": "hhpthesis_19theses", - "schema": "nglp:series", - "properties": { - "about": "

About Humanities Honors Theses 2019

" - } - } - ] - }, - { - "title": "Human Research Protections (HRP), Education and Quality Improvement Program (EQUIP)", - "identifier": "hrp_equip", - "schema": "nglp:unit", - "properties": { - "about": "

\n\n

The\nUniversity of California, Irvine (UCI) Institutional Review Board (IRB) is\nresponsible for ensuring that all human subjects research conducted by faculty,\nstaff, and students at UCI approved sites or using UCI\u2019s name is conducted in\ncompliance with federal regulations, state and local law as well as UCI IRB\npolicies, procedures, and UCI\u2019s Federalwide Assurance with OHRP, in order to\npreserve the rights and safety of research subjects, the quality of scholarly\nwork and the integrity of the institution. In an effort to promote\naccountability and excellence, UCI HRP has developed the Education and Quality Improvement Program (EQUIP). EQUIP monitors\nand measures the effectiveness, efficiency and quality of UCI\u2019s human research\nprotection program. The primary purpose of the EQUIP is to provide education,\ntraining and post-approval monitoring, to assure that all human research\nprotection operations support UCI\u2019s mandate to protect the rights and welfare\nof research participants. This includes compliance with institutional policies\nand procedures, and applicable federal, state and local laws pertaining to the\nprotection of human subjects in research.  EQUIP's aims are aligned with the UCI Office of Research Strategic Plan, the UCI Office of Research Administration Mission Statement, the UCI Chancellor's Strategic Pillars (research, education, service), the UCOP Mission Statement, and Huron's High Performance HRPP Matrix (Organizational Components x Operational Outcomes). 
\n\n 

Webpage:\nEducation and Quality Improvement Program (EQUIP)

\n\n

" - }, - "pages": [ - { - "slug": "about", - "title": "About Human Research Protections (HRP), Education and Quality Improvement Program (EQUIP)", - "body": "

The University of California, Irvine (UCI) Institutional Review Board (IRB) is responsible for ensuring that all human subjects research conducted by faculty, staff, and students at UCI approved sites or using UCI\u2019s name is conducted in compliance with federal regulations, state and local law as well as UCI IRB policies, procedures, and UCI\u2019s Federalwide Assurance with OHRP, in order to preserve the rights and safety of research subjects, the quality of scholarly work and the integrity of the institution. In an effort to promote accountability and excellence, UCI HRP has developed the Education and Quality Improvement Program (EQUIP). EQUIP monitors and measures the effectiveness, efficiency and quality of UCI\u2019s human research protection program. The primary purpose of the EQUIP is to provide education, training and post-approval monitoring, to assure that all human research protection operations support UCI\u2019s mandate to protect the rights and welfare of research participants. This includes compliance with institutional policies and procedures, and applicable federal, state and local laws pertaining to the protection of human subjects in research. \u00a0EQUIP's aims are aligned with the Office of Research Strategic Plan, the UCI Office of Research Administration Mission Statement, the UCI Chancellor's Strategic Pillars (research, education, service), the UCOP Mission Statement, and Huron's High Performance HRPP Matrix (Organizational Components x Operational Outcomes).


Webpage:\u00a0 Education and Quality Improvement Program (EQUIP)

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site Administrator:\u00a0

Laverne Estanol, M.S., CIP, CIM

Editorial Board Member, Journal of Research Administration

Assistant Director, UCI Research Protections (RP):

\u00a0\u00a0Education and Quality Improvement Program (EQUIP)

\u00a0\u00a0 https://escholarship.org/uc/hrp_equip

\u00a0\u00a0 Email:\u00a0 Lestanol@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

EQUIP only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

EQUIP does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere.\u00a0 Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to the standard author agreement, an example of which may be found in our help center.

" - } - ], - "collections": [ - { - "title": "Education and Guidance Documents", - "identifier": "hrp_equip_guidance", - "schema": "nglp:series", - "properties": { - "about": "About Education and Guidance Documents: TODO" - } - }, - { - "title": "Presentations", - "identifier": "hrp_equip_presentations", - "schema": "nglp:series", - "properties": { - "about": "About Presentations: TODO" - } - } - ] - }, - { - "title": "Donald Bren School of Information and Computer Sciences", - "identifier": "ics", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1f394d594ae72dad20eed06632d5de9f03924ea40df9a84b02b7f2b171b2d916" - }, - "properties": { - "about": "

\n ICS has a technical report series, three academic departments and 3 ORUs associated with it that each generate new information and knowledge.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Bren School began as a department in 1968 and achieved School status in 2002. Stressing cutting edge multidisciplinary research in strategic areas ideal for collaborative work, the School pursues research and instruction with worldwide recognized faculty and researchers in computer science, informatics and statistics. By blending research with education in multiple disciplines, the Bren School is leading interdisciplinary efforts in order to meet the challenges of the future." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Department of Computer Science", - "identifier": "ics_cs", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1f394d594ae72dad20eed06632d5de9f03924ea40df9a84b02b7f2b171b2d916" - }, - "properties": { - "about": "

\n The Donald Bren School of Information and Computer Sciences aims for excellence in research and education. Our mission is to lead the innovation of new information and computing technology by fundamental research in the core areas of information and computer sciences and cultivating authentic, cutting-edge research collaborations across the broad range of computing and information application domains as well as studying their economic, commercial and social significance.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

By establishing the University of California's first computer science school in 2002, UC Irvine made an investment in the future that reflects its historical commitment to raising the bar of excellence.

\n

From pioneering computer science courses more than three decades ago to the creation of the Donald Bren School of Information and Computer Sciences, UCI continues to be an institute that leads information technology education and research across the globe.

\n

The Bren School began as a department in 1968. More than 35 years later, it was formally recognized as a school \u2014 and in June 2004, the School adopted benefactor Donald Bren's name in recognition of his generous contribution and visionary leadership.

\n

As an independent school focused solely on the computer and information sciences, the Bren School has a unique perspective on the information technology disciplines that allows us a broad foundation from which to build educational programs and research initiatives that explore the many applications of the computing discipline \u2014 from circuits and systems to software engineering and human aspects of computing.

\n

Building on our strong foundation of computer science fundamentals, the Bren School conducts cutting-edge research in strategic areas ideal for collaborative work.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Mitchell Brown, Scholarly Communications Coordinator

Science Library 230

University of California, Irvine

Irvine, CA 92623-9556

949-824-9732

mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "ics_cs_fp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

\n The Donald Bren School of Information and Computer Sciences aims for excellence in research and education. Our mission is to lead the innovation of new information and computing technology by fundamental research in the core areas of information and computer sciences and cultivating authentic, cutting-edge research collaborations across the broad range of computing and information application domains as well as studying their economic, commercial and social significance.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

By establishing the University of California's first computer science school in 2002, UC Irvine made an investment in the future that reflects its historical commitment to raising the bar of excellence.

\n

From pioneering computer science courses more than three decades ago to the creation of the Donald Bren School of Information and Computer Sciences, UCI continues to be an institute that leads information technology education and research across the globe.

\n

The Bren School began as a department in 1968. More than 35 years later, it was formally recognized as a school \u2014 and in June 2004, the School adopted benefactor Donald Bren's name in recognition of his generous contribution and visionary leadership.

\n

As an independent school focused solely on the computer and information sciences, the Bren School has a unique perspective on the information technology disciplines that allows us a broad foundation from which to build educational programs and research initiatives that explore the many applications of the computing discipline \u2014 from circuits and systems to software engineering and human aspects of computing.

\n

Building on our strong foundation of computer science fundamentals, the Bren School conducts cutting-edge research in strategic areas ideal for collaborative work.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Open Access Policy Deposits", - "identifier": "ics_cs_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "This series is automatically populated with publications deposited by UC Irvine Donald Bren School of Information and Computer Sciences Department of Computer Science researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System." - } - } - ] - }, - { - "title": "Institute for Genomics and Bioinformatics (IGB)", - "identifier": "ics_igb", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/2abe5aaecff99dfe01297be4b5bc8a82d6a6524b0d58315a2752cccbd787789b" - }, - "properties": { - "about": "

\n The Institute for Genomics and Bioinformatics (IGB) was established in January 2001. As an Organized Research Unit, IGB's UC charter was to create an organizational structure for interdisciplinary research in genomics and bioinformatics, which together were (and still are) catalyzing a revolution in the scientific understanding of biological genes, proteins, networks, and systems, and their medical implications. The Institute reports directly to the UCI Vice Chancellor of Research, in keeping with its interdisciplinary nature, and is currently housed in the Donald Bren School of Information and Computer Science building on the UC Irvine campus.\n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

IGB rapidly became well known for its ability to foster innovative interdisciplinary activities and attract third party funding. In 2002 the National Institutes of Health (NIH) awarded the Institute $4.3 million to consolidate UCI bioinformatics educational efforts into a comprehensive, campus-wide initiative. In 2004, the Biomedical Informatics Training (BIT) Program graduated its first Ph.D. cross-trained in the life and computational sciences. In less than three years, IGB has attracted a total of $14.2 million in external funding from the National Institutes of Health, the National Science Foundation, and multiple UC sources. In fall 2003 alone, IGB was awarded an NSF Major Instrumentation (MRI) grant, an NSF Information Technology Research (ITR) grant, an NIH Frontiers in Integrative Biological Research (FIBR) grant, and an NIH Novel Technologies for In Vivo Imaging (R21 R33) grant. For more information about IGB's latest grants and other news, see News.

\n

Since its inception, IGB's programs, membership and staff have grown. Originally a loosely organized structure with a Director, one staff member, and a fluid group of affiliated researchers, in 2001 the Institute added four Program Areas and Leaders. In 2002, an Associate Director, an additional Program Leader, and two staff members were added to accommodate administrative needs and a growing scientific agenda. Today, IGB has nine core Program areas, representing increasing breadth and depth of collaborative interdisciplinary projects: Biochemical Engineering, Chemical Biology, Drug Discovery, Evolutionary Genomics, Medical Informatics, Functional Genomics, Disease Genomics, Structural Genomics and Systems Biology

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Mitchell Brown, Scholarly Communications Coordinator

Science Library 230

University of California, Irvine

Irvine, CA 92623-9556

949-824-9732

mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Research Reports", - "identifier": "ics_igb_rr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

\n The Institute for Genomics and Bioinformatics (IGB) was established in January 2001. As an Organized Research Unit, IGB's UC charter was to create an organizational structure for interdisciplinary research in genomics and bioinformatics, which together were (and still are) catalyzing a revolution in the scientific understanding of biological genes, proteins, networks, and systems, and their medical implications. The Institute reports directly to the UCI Vice Chancellor of Research, in keeping with its interdisciplinary nature, and is currently housed in the Donald Bren School of Information and Computer Science building on the UC Irvine campus.\n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

IGB rapidly became well known for its ability to foster innovative interdisciplinary activities and attract third party funding. In 2002 the National Institutes of Health (NIH) awarded the Institute $4.3 million to consolidate UCI bioinformatics educational efforts into a comprehensive, campus-wide initiative. In 2004, the Biomedical Informatics Training (BIT) Program graduated its first Ph.D. cross-trained in the life and computational sciences. In less than three years, IGB has attracted a total of $14.2 million in external funding from the National Institutes of Health, the National Science Foundation, and multiple UC sources. In fall 2003 alone, IGB was awarded an NSF Major Instrumentation (MRI) grant, an NSF Information Technology Research (ITR) grant, an NIH Frontiers in Integrative Biological Research (FIBR) grant, and an NIH Novel Technologies for In Vivo Imaging (R21 R33) grant. For more information about IGB's latest grants and other news, see News.

\n

Since its inception, IGB's programs, membership and staff have grown. Originally a loosely organized structure with a Director, one staff member, and a fluid group of affiliated researchers, in 2001 the Institute added four Program Areas and Leaders. In 2002, an Associate Director, an additional Program Leader, and two staff members were added to accommodate administrative needs and a growing scientific agenda. Today, IGB has nine core Program areas, representing increasing breadth and depth of collaborative interdisciplinary projects: Biochemical Engineering, Chemical Biology, Drug Discovery, Evolutionary Genomics, Medical Informatics, Functional Genomics, Disease Genomics, Structural Genomics and Systems Biology

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Department of Informatics", - "identifier": "ics_inf", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/29fdcf6d4c4608a2a2ec0a4205d0d36066edf5e401433c1e3b4e5b75949a7c3e" - }, - "properties": { - "about": "

\n The Department of Informatics at UC Irvine is at the forefront of exploring the exciting challenges that arise from the intersection of people, information and technology. The department brings together scholars, students and practitioners to improve our understanding of technology\u2019s extraordinary impact and to create innovations that redefine how we experience the world.\n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Department of Informatics was formed in 2002 when the then-Department of Information and Computer Science became the Donald Bren School of Information and Computer Sciences. Originally, the school housed two departments: the Department of Computer Science and the Department of Informatics. The Department of Statistics joined shortly thereafter.

\n

The mission and values of the Department of Informatics can be traced back to well before 2002, with software engineering, human-computer interaction and computer-supported cooperative work being key areas of strength at UC Irvine for decades. As one example, the term \u201cThe Irvine School\u201d is widely recognized and refers to an intellectual perspective on information technology in complex organizational settings that emerged over the last three decades of the 20th century. As another example, graduate students and faculty here laid the foundations for REST and WebDAV, two architectural styles underlying critical elements of the modern World Wide Web.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Mitchell Brown, Scholarly Communications Coordinator

Science Library 230

University of California, Irvine

Irvine, CA 92623-9556

949-824-9732

mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "ics_inf_fp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

\n The Department of Informatics at UC Irvine is at the forefront of exploring the exciting challenges that arise from the intersection of people, information and technology. The department brings together scholars, students and practitioners to improve our understanding of technology\u2019s extraordinary impact and to create innovations that redefine how we experience the world.\n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Department of Informatics was formed in 2002 when the then-Department of Information and Computer Science became the Donald Bren School of Information and Computer Sciences. Originally, the school housed two departments: the Department of Computer Science and the Department of Informatics. The Department of Statistics joined shortly thereafter.

\n

The mission and values of the Department of Informatics can be traced back to well before 2002, with software engineering, human-computer interaction and computer-supported cooperative work being key areas of strength at UC Irvine for decades. As one example, the term \u201cThe Irvine School\u201d is widely recognized and refers to an intellectual perspective on information technology in complex organizational settings that emerged over the last three decades of the 20th century. As another example, graduate students and faculty here laid the foundations for REST and WebDAV, two architectural styles underlying critical elements of the modern World Wide Web.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Open Access Policy Deposits", - "identifier": "ics_inf_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Donald Bren School of Information and Computer Sciences Department of Informatics researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - } - ] - }, - { - "title": "Institute for Software Research (ISR)", - "identifier": "ics_isr", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0cf5dd9d711e7f8962dc2924156a40de2c3b8b71cc6a4d705371a9f0aac603d8" - }, - "properties": { - "about": "

\n Welcome to the Institute for Software Research (ISR) at the University of California, Irvine. ISR is the only Organized Research Unit in the University of California system with a focus on Software Research. Our goal is to advance software and information technology through research partnerships. Here at ISR, we have become the intersection between cutting edge software research and real world practice.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Research emphases of the Institute include software architecture, decentralized development and applications, configurable distributed systems, design, Internet-scale event notification, web technologies, computer-supported cooperative work, human-computer interaction, visualization, privacy and security, open source software development, ubiquitous computing, software understanding, software processes, requirements engineering, analysis and testing, software engineering education, and game culture and technologies." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Mitchell Brown, Scholarly Communications Coordinator

Science Library 230

University of California, Irvine

Irvine, CA 92623-9556

949-824-9732

mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Research Reports", - "identifier": "ics_isr_rr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

\n Welcome to the Institute for Software Research (ISR) at the University of California, Irvine. ISR is the only Organized Research Unit in the University of California system with a focus on Software Research. Our goal is to advance software and information technology through research partnerships. Here at ISR, we have become the intersection between cutting edge software research and real world practice.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Research emphases of the Institute include software architecture, decentralized development and applications, configurable distributed systems, design, Internet-scale event notification, web technologies, computer-supported cooperative work, human-computer interaction, visualization, privacy and security, open source software development, ubiquitous computing, software understanding, software processes, requirements engineering, analysis and testing, software engineering education, and game culture and technologies." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Institute for Virtual Environments and Computer Games (IVECG)", - "identifier": "ics_ivecg", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1445890b60bc9e52aa47b266d0bab2e71a5734725af1284686afa63fa4f3fcdc" - }, - "properties": { - "about": "

\n The Institute for Virtual Environments and Computer Games (IVECG) seeks to advance UC Irvine\u2019s strengths as a national leader in research and education activities that are revolutionizing how we teach and learn, conduct business and commerce, provide health care, and interact and behave in society.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Institute for Virtual Environments and Computer Games \u2014 through multi-disciplinary research projects encompassing the fields of anthropology, art, computer science, engineering, history, medicine, psychology, science and technology \u2014 bring together innovative researchers from across the UC Irvine campus and neighboring institutions for the common goal of understanding and creating technology and applications that transform how we: " - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Mitchell Brown, Scholarly Communications Coordinator

Science Library 230

University of California, Irvine

Irvine, CA 92623-9556

949-824-9732

mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Research Reports", - "identifier": "ics_ivecg_rr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

\n The Institute for Virtual Environments and Computer Games (IVECG) seeks to advance UC Irvine\u2019s strengths as a national leader in research and education activities that are revolutionizing how we teach and learn, conduct business and commerce, provide health care, and interact and behave in society.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Institute for Virtual Environments and Computer Games \u2014 through multi-disciplinary research projects encompassing the fields of anthropology, art, computer science, engineering, history, medicine, psychology, science and technology \u2014 bring together innovative researchers from across the UC Irvine campus and neighboring institutions for the common goal of understanding and creating technology and applications that transform how we: " - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "ICS Technical Reports", - "identifier": "ics_tr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

\n ICS has a technical report series, three academic departments and 3 ORUs associated with it that each generate new information and knowledge.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Bren School began as a department in 1968 and achieved School status in 2002. Stressing cutting edge multidisciplinary research in strategic areas ideal for collaborative work, the School pursues research and instruction with worldwide recognized faculty and researchers in computer science, informatics and statistics. By blending research with education in multiple disciplines, the Bren School is leading interdisciplinary efforts in order to meet the challenges of the future." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Department of Statistics", - "identifier": "ucistat", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/c10fb869ce52ee21b544df8e9fe2f4f9e904ec820e31058c1295ae4f371b6b47" - }, - "properties": { - "about": "

UCI's Department of Statistics was created in 2002 with an emphasis on research in statistical theory and interdisciplinary collaborations and is actively recruiting additional members.

\n

The Department also intends to capitalize on existing statistical expertise in other Bren School departments as well as other schools at UCI.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Statistics is the science concerned with developing and studying methods for collecting, analyzing, interpreting, and presenting empirical data.

\n

Statistics is a highly interdisciplinary field; research in statistics finds applicability in virtually all scientific fields and research questions in the various scientific fields motivate the development of new statistical methods and theory. In developing methods and studying the theory that underlies the methods statisticians draw on a variety of mathematical and computational tools.

\n

UC Irvine's Department of Statistics was formed in 2002 and the Department is one of three departments in the Bren School of Information and Computer Sciences.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Mitchell Brown, Scholarly Communications Coordinator

Science Library 230

University of California, Irvine

Irvine, CA 92623-9556

949-824-9732

mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "ucistat_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Donald Bren School of Information and Computer Sciences Department of Statistics researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Faculty Publications", - "identifier": "ucistat_papers", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1df400ac64e94d878254a814626aa79617fd89c0dbb096efdd5f346285132c3f" - }, - "properties": { - "about": "

UCI's Department of Statistics was created in 2002 with an emphasis on research in statistical theory and interdisciplinary collaborations and is actively recruiting additional members.

\n

The Department also intends to capitalize on existing statistical expertise in other Bren School departments as well as other schools at UCI.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Statistics is the science concerned with developing and studying methods for collecting, analyzing, interpreting, and presenting empirical data.

\n

Statistics is a highly interdisciplinary field; research in statistics finds applicability in virtually all scientific fields and research questions in the various scientific fields motivate the development of new statistical methods and theory. In developing methods and studying the theory that underlies the methods statisticians draw on a variety of mathematical and computational tools.

\n

UC Irvine's Department of Statistics was formed in 2002 and the Department is one of three departments in the Bren School of Information and Computer Sciences.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown, Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ICS only publishes materials about work conducted under the auspices of the Computer Science, Informatics and Statistics Departments and its three ORUs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcbrown@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcbrown@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcbrown@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - } - ] - }, - { - "title": "Institute for Clinical and Translational Science", - "identifier": "icts", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b51e28ccef457b2f7ba51bdf2795e0464ff592d96611575110b226822fd0edb4" - }, - "properties": { - "about": "

UC Irvine Institute for Clinical and Translational Science (ICTS) provides a clinical research home to speed up the often slow process that guides scientific discovery to clinical application. We provide a variety of forms of support to researchers along the translational spectrum from basic research to community-based dissemination research and everything in between. Support for clinical trials can include direct funding for pilot studies, processing and storage of biological samples, nursing services, biostatistical and research design consultations, and expert consults in the areas of imaging, community-based research and informatics. We also support education and training in translational research at all levels, from high school students through to post-doctoral students and medical residents.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Institute for Clinical and Translational Science (ICTS) was established to speed the translation of new scientific discoveries into clinical practice, promote significant improvements in community health, and make personalized medicine a reality. The Institute for Clinical and Translational Science (ICTS) is among the highest academic health centers chaired to revolutionize how clinical and translational research is conducted. Only 63 universities, out of the 300 medical centers in the country, have received this prestigious designation, which include Harvard University, Johns Hopkins University, Stanford University, and Columbia University.

\n

The ICTS supports clinical research on both the medical center campus and the main campus. The vision of the ICTS is advancing discoveries in health care through translational science. Through this vision our mission is to ensure that new and existing resources in clinical and translational science are effectively matched with the creative energy of UC Irvine scientists, clinical investigators, patients and community partners to improve health care and public health, to disseminate innovative research resources to our community, and to provide integrated training to the next generation of clinical researchers.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

For billing and service utilization contact: Lisa Hinojosa at lisahino@uci.edu 949-824-8448

\n

For Pilot funding opportunities and community engagement contact: Diana Vigil at dvigil1@uci.edu 949-928-1231

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The ICTS only publishes materials about work conducted under the auspices of the ICTS. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Margaret Schneider, Ph.D, at mls@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: scushing@uci.edu

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: scushing@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "ICTS Clinical Translational Science Meeting Abstracts", - "identifier": "icts_ctsm2013", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b51e28ccef457b2f7ba51bdf2795e0464ff592d96611575110b226822fd0edb4" - }, - "properties": { - "about": "

UC Irvine Institute for Clinical and Translational Science (ICTS) provides a clinical research home to speed up the often slow process that guides scientific discovery to clinical application. We provide a variety of forms of support to researchers along the translational spectrum from basic research to community-based dissemination research and everything in between. Support for clinical trials can include direct funding for pilot studies, processing and storage of biological samples, nursing services, biostatistical and research design consultations, and expert consults in the areas of imaging, community-based research and informatics. We also support education and training in translational research at all levels, from high school students through to post-doctoral students and medical residents.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Institute for Clinical and Translational Science (ICTS) was established to speed the translation of new scientific discoveries into clinical practice, promote significant improvements in community health, and make personalized medicine a reality. The Institute for Clinical and Translational Science (ICTS) is among the highest academic health centers chaired to revolutionize how clinical and translational research is conducted. Only 63 universities, out of the 300 medical centers in the country, have received this prestigious designation, which include Harvard University, Johns Hopkins University, Stanford University, and Columbia University.

\n

The ICTS supports clinical research on both the medical center campus and the main campus. The vision of the ICTS is advancing discoveries in health care through translational science. Through this vision our mission is to ensure that new and existing resources in clinical and translational science are effectively matched with the creative energy of UC Irvine scientists, clinical investigators, patients and community partners to improve health care and public health, to disseminate innovative research resources to our community, and to provide integrated training to the next generation of clinical researchers.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

For billing and service utilization contact: Lisa Hinojosa at lisahino@uci.edu 949-824-8448

\n

For Pilot funding opportunities and community engagement contact: Diana Vigil at dvigil1@uci.edu 949-928-1231

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The ICTS only publishes materials about work conducted under the auspices of the ICTS. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Margaret Schneider, Ph.D, at mls@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: scushing@uci.edu

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: scushing@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "ICTS Publications", - "identifier": "icts_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b51e28ccef457b2f7ba51bdf2795e0464ff592d96611575110b226822fd0edb4" - }, - "properties": { - "about": "

UC Irvine Institute for Clinical and Translational Science (ICTS) provides a clinical research home to speed up the often slow process that guides scientific discovery to clinical application. We provide a variety of forms of support to researchers along the translational spectrum from basic research to community-based dissemination research and everything in between. Support for clinical trials can include direct funding for pilot studies, processing and storage of biological samples, nursing services, biostatistical and research design consultations, and expert consults in the areas of imaging, community-based research and informatics. We also support education and training in translational research at all levels, from high school students through to post-doctoral students and medical residents.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Institute for Clinical and Translational Science (ICTS) was established to speed the translation of new scientific discoveries into clinical practice, promote significant improvements in community health, and make personalized medicine a reality. The Institute for Clinical and Translational Science (ICTS) is among the highest academic health centers chaired to revolutionize how clinical and translational research is conducted. Only 63 universities, out of the 300 medical centers in the country, have received this prestigious designation, which include Harvard University, Johns Hopkins University, Stanford University, and Columbia University.

\n

The ICTS supports clinical research on both the medical center campus and the main campus. The vision of the ICTS is advancing discoveries in health care through translational science. Through this vision our mission is to ensure that new and existing resources in clinical and translational science are effectively matched with the creative energy of UC Irvine scientists, clinical investigators, patients and community partners to improve health care and public health, to disseminate innovative research resources to our community, and to provide integrated training to the next generation of clinical researchers.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

For billing and service utilization contact: Lisa Hinojosa at lisahino@uci.edu 949-824-8448

\n

For Pilot funding opportunities and community engagement contact: Diana Vigil at dvigil1@uci.edu 949-928-1231

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The ICTS only publishes materials about work conducted under the auspices of the ICTS. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Margaret Schneider, Ph.D, at mls@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: scushing@uci.edu

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: scushing@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "University of California Institute for Labor and Employment", - "identifier": "ile", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "The State of California Labor, 2001", - "identifier": "ile_scl2001", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "The State of California Labor, 2002", - "identifier": "ile_scl2002", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "The State of California Labor, 2003", - "identifier": "ile_scl2003", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "The State of California Labor, 2004", - "identifier": "ile_scl2004", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Institute for Mathematical Behavioral Sciences", - "identifier": "imbs", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/befb82205ff72456d42a9a645a30134d15eecdd52ac9e6d9678c39cb39a2e23b" - }, - "properties": { - "about": "

The Institute for Mathematical Behavioral Sciences in the School of Social Sciences at the University of California, Irvine (UCI), created in 1992, is the successor to the Irvine Research Unit in Mathematical Behavioral Sciences that was formed in 1988. It is a specialized research center to facilitate interaction and common research goals among scientists whose purpose is to formulate precisely and test theories of human behavior.

\n

The Institute was created to augment existing, interdisciplinary strengths at UCI in mathematical applications to the behavioral sciences and to foster the highest quality research in the application of mathematical models to better understand human behavior, both individual and social.

\n

Faculty associated with the Institute span the following areas: anthropology, cognitive science, economics, engineering, geography, mathematics, political science, and sociology. Additional faculty affiliated with the Institute come both from these and other disciplines, including philosophy, mathematics, management science, and psychobiology.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Institute for Mathematical Behavioral Sciences (IMBS) only publishes materials about work conducted under the auspices of IMBS. For additional information, please contact jjphelps@uci.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The Institute for Mathematical Behavioral Sciences (IMBS) only publishes materials about work conducted under the auspices of IMBS. For additional information, please contact jjphelps@uci.edu." - } - ], - "collections": [ - { - "title": "Other Recent Work", - "identifier": "imbs_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/befb82205ff72456d42a9a645a30134d15eecdd52ac9e6d9678c39cb39a2e23b" - }, - "properties": { - "about": "

The Institute for Mathematical Behavioral Sciences in the School of Social Sciences at the University of California, Irvine (UCI), created in 1992, is the successor to the Irvine Research Unit in Mathematical Behavioral Sciences that was formed in 1988. It is a specialized research center to facilitate interaction and common research goals among scientists whose purpose is to formulate precisely and test theories of human behavior.

\n

The Institute was created to augment existing, interdisciplinary strengths at UCI in mathematical applications to the behavioral sciences and to foster the highest quality research in the application of mathematical models to better understand human behavior, both individual and social.

\n

Faculty associated with the Institute span the following areas: anthropology, cognitive science, economics, engineering, geography, mathematics, political science, and sociology. Additional faculty affiliated with the Institute come both from these and other disciplines, including philosophy, mathematics, management science, and psychobiology.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Institute for Mathematical Behavioral Sciences (IMBS) only publishes materials about work conducted under the auspices of IMBS. For additional information, please contact jjphelps@uci.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The Institute for Mathematical Behavioral Sciences (IMBS) only publishes materials about work conducted under the auspices of IMBS. For additional information, please contact jjphelps@uci.edu." - } - ] - }, - { - "title": "Social Dynamics and Complexity", - "identifier": "imbs_socdyn", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/42caba07d94899975ae9966866cfeaa2d8bd5e74dd8621fd4a429b2c7a7700bb" - }, - "properties": { - "about": "

The Social Dynamics and Complexity group at UCI is a degree-granting subgroup within the Mathematical Behavioral Sciences Ph.D. program at UC Irvine. It was founded in 2004 in order to advance Anthropology as a scientific discipline, addressing biological, cognitive, social and cultural aspects of human societies with a special focus on dynamic and evolutionary processes. The MBS encourages applications for the PhD program for students interested in pursuing an Anthropology or Social Science degree with strong emphasis on mathematical modeling, computational and quantitative methods, and cross-disciplinary linkages.

" - }, - "pages": [ - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

Social Dynamics and Complexity publishes materials about work conducted under the auspices of Social Dynamics and Complexity focused research group and its collaborators. For additional information, please contact drwhite@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact drwhite@uci.edu.
  2. \n
  3. Write an abstract for your paper with a maximum of 250 words. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper using eScholarship's submission workflow. You must click this link to begin the submission process. (Note that you will need to create an account and sign in to submit your paper.)
  6. \n
  7. If you have any questions, contact drwhite@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, the submission management system will create an Adobe Acrobat (PDF) version of the paper. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to drwhite@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Working Papers Series", - "identifier": "imbs_socdyn_wp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/42caba07d94899975ae9966866cfeaa2d8bd5e74dd8621fd4a429b2c7a7700bb" - }, - "properties": { - "about": "

The Social Dynamics and Complexity group at UCI is a degree-granting subgroup within the Mathematical Behavioral Sciences Ph.D. program at UC Irvine. It was founded in 2004 in order to advance Anthropology as a scientific discipline, addressing biological, cognitive, social and cultural aspects of human societies with a special focus on dynamic and evolutionary processes. The MBS encourages applications for the PhD program for students interested in pursuing an Anthropology or Social Science degree with strong emphasis on mathematical modeling, computational and quantitative methods, and cross-disciplinary linkages.

" - }, - "pages": [ - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

Social Dynamics and Complexity publishes materials about work conducted under the auspices of Social Dynamics and Complexity focused research group and its collaborators. For additional information, please contact drwhite@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact drwhite@uci.edu.
  2. \n
  3. Write an abstract for your paper with a maximum of 250 words. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper using eScholarship's submission workflow. You must click this link to begin the submission process. (Note that you will need to create an account and sign in to submit your paper.)
  6. \n
  7. If you have any questions, contact drwhite@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, the submission management system will create an Adobe Acrobat (PDF) version of the paper. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to drwhite@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - } - ] - }, - { - "title": "Institute for Money, Technology and Financial Inclusion", - "identifier": "imtfi", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/c8c48a2987e69899caa480ad0a6155ad62445ac4b03d7abd2cfb77845727f651" - }, - "properties": { - "about": "

Welcome to the Institute for Money, Technology & Financial Inclusion. Established in 2008, the Institute is housed in the School of Social Sciences at the University of California, Irvine. Its mission is to support research on money and technology among the world's poorest people: those who live on less than $1 per day. We seek to create a community of practice and inquiry into the everyday uses and meanings of money, as well as examining the technological infrastructures being developed as carriers of mainstream and alternative currencies worldwide.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UC Irvine's Institute for Money, Technology & Financial Inclusion only publishes materials about work conducted under the auspices of UC Irvine's Institute for Money, Technology & Financial Inclusion. For additional information, please contact imtfi@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at imtfi@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UC Irvine's Institute for Money, Technology & Financial Inclusion only publishes materials about work conducted under the auspices of UC Irvine's Institute for Money, Technology & Financial Inclusion. For additional information, please contact imtfi@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at imtfi@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "imtfi_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/8356739af523a890733df77a836e2cb59659f0adbe4c5e2eea55d97061c95f3f" - }, - "properties": { - "about": "

Welcome to the Institute for Money, Technology & Financial Inclusion. Established in 2008, the Institute is housed in the School of Social Sciences at the University of California, Irvine. Its mission is to support research on money and technology among the world's poorest people: those who live on less than $1 per day. We seek to create a community of practice and inquiry into the everyday uses and meanings of money, as well as examining the technological infrastructures being developed as carriers of mainstream and alternative currencies worldwide.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UC Irvine's Institute for Money, Technology & Financial Inclusion only publishes materials about work conducted under the auspices of UC Irvine's Institute for Money, Technology & Financial Inclusion. For additional information, please contact imtfi@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at imtfi@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UC Irvine's Institute for Money, Technology & Financial Inclusion only publishes materials about work conducted under the auspices of UC Irvine's Institute for Money, Technology & Financial Inclusion. For additional information, please contact imtfi@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at imtfi@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - } - ] - } - ] - }, - { - "title": "National Registry of Exonerations", - "identifier": "irvine_exonerations", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/7183718724f59d0cf81f25758cea713b8d58b09993098a0861e4c7a392ad2f89" - }, - "properties": { - "about": "

The National Registry of Exonerations is a project of the Newkirk Center for Science & Society at University of California Irvine, the University of Michigan Law School and Michigan State University College of Law. It was founded in 2012 in conjunction with the Center on Wrongful Convictions at Northwestern University School of Law. The Registry provides detailed information about every known exoneration in the United States since 1989\u2014cases in which a person was wrongly convicted of a crime and later cleared of all the charges based on new evidence of innocence. The Registry also maintains a more limited database of known exonerations prior to 1989.

" - }, - "pages": [ - { - "slug": "about", - "title": "About National Registry of Exonerations", - "body": "

The NRE is an internationally recognized archival, research, and public information project whose mission is to provide comprehensive information on all known exonerations of innocent criminal defendants in the United States, from 1989 through the present, in order to learn from past mistakes and prevent future wrongful convictions. It is housed at The Newkirk Center for Science & Society at UCI.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

We welcome new information from any source about exonerations already on our list and about cases not in the Registry that might be exonerations.


Site administrator:\u00a0

Simon A. Cole
Director - Newkirk Center for Science & Society
Professor - Department of Criminology, Law & Society
scole@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The NRE only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The NRE does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere.\u00a0 Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard author agreement, an example of which may be found in the help center.

" - } - ], - "collections": [ - { - "title": "Group Exonerations", - "identifier": "irvine_exonerations_group", - "schema": "nglp:series", - "properties": { - "about": "About Group Exonerations: TODO" - } - }, - { - "title": "Individual Exonerations", - "identifier": "irvine_exonerations_individual", - "schema": "nglp:series", - "properties": { - "about": "About Individual Exonerations: TODO" - } - }, - { - "title": "Reports", - "identifier": "irvine_exonerations_reports", - "schema": "nglp:series", - "properties": { - "about": "About Reports: TODO" - } - } - ] - }, - { - "title": "School of Law", - "identifier": "irvine_law", - "schema": "nglp:unit", - "pages": [ - { - "slug": "about", - "title": "About School of Law", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrators:

Christina Tsou
Head of Public Services
ctsou@law.uci.edu

Jimmy Pak
Research Law Librarian for Technology Services
jpak@law.uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

UC Irvine School of Law only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

UC Irvine School of Law does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "irvine_law_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated \nwith publications deposited by UC Irvine School of Law researchers in accordance with the University of California\u2019s open \naccess policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Faculty Scholarship", - "identifier": "irvine_law_rw", - "schema": "nglp:series" - } - ] - }, - { - "title": "UC Irvine Institute of Transportation Studies", - "identifier": "itsirvine", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/d9e7dcebc06a32d4196bb4484bde036a7122ca772f09d00d8962b48e224dd4ae" - }, - "properties": { - "about": "

The Institute of Transportation Studies (ITS) at the University of California, Irvine (UCI) is part of the University of California Multicampus Research Unit (MRU) of the same name (UC ITS), which has branches at the Irvine, Davis, Berkeley and UCLA campuses.  The UC ITS mission is to serve as the premier university-based transportation research center in the world, recognized for advancing the state of the art in transportation engineering and planning, delivering multidisciplinary research and education, and informing policy through direct engagement with leaders from the public sector, industry, and nongovernmental organizations.


Research at ITS Irvine involves faculty and students from The Henry Samueli School of Engineering, the School of Social Sciences, the School of Social Ecology, the Paul Merage School of Business, the School of Law, and the Bren School of Information and Computer Science. The Institute also hosts visiting scholars from the U.S. and abroad to facilitate cooperative research and information exchange, and sponsors conferences and colloquia to disseminate research results. ITS is a member of the Council of University Transportation Centers, (CUTC), and is a regular participant in the USDOT's University Transportation Centers program.


Research at ITS covers a broad spectrum of transportation issues. Currently funded research projects at Irvine focus upon:

\n

\n

ITS Irvine is part of a University of California (UC) multicampus organized research unit with branches on the Berkeley, Davis, Irvine and Los Angeles campuses.  The four branches collaborate in the statewide transportation research program funded by the Road Repair and Accountability Act of 2017 (SB1).  In addition, ITS Irvine is a member of the Pacific Southwest Region 9 University Transportation Center (PSR-UTC), a federally-designated center for research on transportation systems and policy. The Institute also plays a major role in the intelligent transportation and telematics research component of the California Institute for Telecommunications and Information Technology (Cal IT2).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Jared Sun at\u00a0zhes@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at\u00a0zhes@uci.edu.\u00a0However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the attached author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Jared Sun at zhes@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word(.docx), or Adobe Acrobat (.pdf).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to zhes@uci.edu. Include in an email message with the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact .zhe

Overview of the Process

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to\u00a0zhes@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Center for Activity Systems Analysis", - "identifier": "itsirvine_casa", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/2296f6fbeb49da98f8bc5359bf857028389a7d018a3bfa78a452f6402a494d2f" - }, - "properties": { - "about": "

The Center for Activity Systems Analysis (CASA) was established within the Institute of Transportation Studies at the University of California, Irvine to provide a focus for research in activity-based and agent-based models of travel and activity patterns and to foster interdisciplinary research in this and related areas. For over 25 years, CASA research associates have been on the leading edge of evolving research in activity systems analysis, establishing an international reputation in the study of complex travel behavior, activity-based approaches, agent-based models, microsimulation approaches, advanced data collection technologies including GIS and GPS, and empirical modeling.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at ziggy@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the attached author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact ziggy@uci.edu.
    We can convert files from some programs into an acceptable format. Please contact ziggy@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to ziggy@uci.edu. Include in an email message with the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact ziggy@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to ziggy@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "itsirvine_casa_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/2296f6fbeb49da98f8bc5359bf857028389a7d018a3bfa78a452f6402a494d2f" - }, - "properties": { - "about": "

The Center for Activity Systems Analysis (CASA) was established within the Institute of Transportation Studies at the University of California, Irvine to provide a focus for research in activity-based and agent-based models of travel and activity patterns and to foster interdisciplinary research in this and related areas. For over 25 years, CASA research associates have been on the leading edge of evolving research in activity systems analysis, establishing an international reputation in the study of complex travel behavior, activity-based approaches, agent-based models, microsimulation approaches, advanced data collection technologies including GIS and GPS, and empirical modeling.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at ziggy@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the attached author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact ziggy@uci.edu.
    We can convert files from some programs into an acceptable format. Please contact ziggy@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to ziggy@uci.edu. Include in an email message with the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact ziggy@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to ziggy@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for Logistical Innovations in Freight Transportation", - "identifier": "itsirvine_clifs", - "schema": "nglp:unit", - "collections": [ - { - "title": "Recent Work", - "identifier": "itsirvine_clifs_rw", - "schema": "nglp:series" - } - ] - }, - { - "title": "Center for Traffic Simulation Studies", - "identifier": "itsirvine_ctss", - "schema": "nglp:unit", - "properties": { - "about": "

The Center for Traffic Simulation Studies (CTSS) was established within the Institute of Transportation Studies to provide a focus for research on the modeling and evaluation of intelligent transportation systems and telematics (advanced communication between the transportation system and the traveler). A parallel goal is to provide decision makers and practitioners with guidelines for the appropriate use of microsimulation models for transportation system planning and operations.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at ziggy@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the attached author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact ziggy@uci.edu.
    We can convert files from some programs into an acceptable format. Please contact ziggy@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to ziggy@uci.edu. Include in an email message with the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact ziggy@uci.edu\n
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to ziggy@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "itsirvine_ctss_rw", - "schema": "nglp:series", - "properties": { - "about": "

The Center for Traffic Simulation Studies (CTSS) was established within the Institute of Transportation Studies to provide a focus for research on the modeling and evaluation of intelligent transportation systems and telematics (advanced communication between the transportation system and the traveler). A parallel goal is to provide decision makers and practitioners with guidelines for the appropriate use of microsimulation models for transportation system planning and operations.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at ziggy@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the attached author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact ziggy@uci.edu.
    We can convert files from some programs into an acceptable format. Please contact ziggy@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to ziggy@uci.edu. Include in an email message with the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact ziggy@uci.edu\n
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to ziggy@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Poicy Briefs", - "identifier": "itsirvine_policy", - "schema": "nglp:series" - }, - { - "title": "Research Reports", - "identifier": "itsirvine_reports", - "schema": "nglp:series" - }, - { - "title": "Working Paper Series", - "identifier": "itsirvine_wps", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/538833407b038db284dc4cb6034d357fc146ddd48d599ad49fc7593c5f3926ce" - }, - "properties": { - "about": "

The Institute of Transportation Studies at the University of California, Irvine (ITS Irvine) specializes in the application of advanced analytical techniques and technologies to contemporary transportation problems. Established in 1974, ITS Irvine's programs currently involve nearly 75 faculty members, professional researchers and graduate students from a variety of disciplines.

\n

Research at ITS Irvine covers a broad spectrum of transportation issues including:

\n

\n

ITS Irvine is part of a University of California (UC) multicampus organized research unit with branches on the Berkeley, Davis, Irvine and Los Angeles campuses, and the University of California Transportation Center (UCTC), a federally-designated center for research on transportation systems and policy. The Institute also plays a major role in the intelligent transportation and telematics research component of the California Institute for Telecommunications and Information Technology (Cal IT2) and in the ZEVNET hybrid-vehicle station car demonstration program of UCI's National Fuel Cell Research Center.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at ziggy@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the attached author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

ITS Irvine only publishes materials about work conducted under the auspices of ITS Irvine and its affiliated Centers. For additional information, please contact Ziggy Bates at ziggy@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact ziggy@uci.edu.
    We can convert files from some programs into an acceptable format. Please contact ziggy@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to ziggy@uci.edu. Include in an email message with the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact ziggy@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to ziggy@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Latin American Studies Center", - "identifier": "lasc", - "schema": "nglp:unit", - "properties": { - "about": "

The UCI Latin American Studies Center brings together an active group of faculty and students who promote dialogue and collaboration in the study of Latin America across disciplinary boundaries and organize educational activities on Latin America. 

" - }, - "pages": [ - { - "slug": "about", - "title": "About Latin American Studies Center", - "body": "

The UCI Latin American Studies Center brings together an active group of faculty and students who promote dialogue and collaboration in the study of Latin America across disciplinary boundaries and organize educational activities on Latin America. The LAS Center hopes to further engage the Orange County communities of Latin American ancestry and heritage through public programs, conferences, film screenings, and musical events that examine the history and cultures of Latin America as well as the influence of Latin America in the United States and the world.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "For questions about the Latin American Studies Center eScholarship site, please contact the site administrator:

Professor Adriana Johnson, adrianaj@uci.edu

" - } - ] - }, - { - "title": "University of California Linguistic Minority Research Institute", - "identifier": "lmri", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI) was established in 1984 in response to the California Legislature's request that the University of California's Office of the President (UCOP) pursue \"...knowledge applicable to educational policy and practice in the area of language minority students' academic achievement and knowledge,\" including their access to the University of California and other institutions of higher education.

\n

The UC LMRI was first established as a research project and then became a Multi-campus Research Unit (MRU) in 1992, with representatives from each of the UC campuses serving as its board. To carry out its mission, the UC LMRI funded research of UC faculty and graduate students; provided professional development for researchers, educators, and policymakers; and disseminated information to researchers, practitioners, and policymakers on educational issues affecting linguistic minorities as well as racial and ethnic minorities and immigrants for both California and the nation.

\n

As a part of its dissemination activities it sponsored an annual research conference that drew participants from across the nation, and conducted regular policy seminars in the state capitol to inform policymakers on the latest research relevant to pending policy issues. The policy seminars became a notable fixture in the capitol. UC LMRI produced dozens of reports, several books, and was the catalyst for numerous journal articles during its existence. It was the \u201cgo to\u201d research center on issues of English language learners for both researchers and practitioners nationwide. Some of the most consulted publications produced over the years are available here at the Civil Rights Project website.

\n

The UC LMRI closed its doors in 2009 after 25 years of existence. In order to make its documents available, LMRI documents are housed here.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ], - "collections": [ - { - "title": "EL Facts", - "identifier": "lmri_el", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Joint Publications", - "identifier": "lmri_jp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Newsletters", - "identifier": "lmri_nl", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Policy Reports", - "identifier": "lmri_pr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Postdoc Reports", - "identifier": "lmri_td", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Technical Reports", - "identifier": "lmri_tr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Working Papers", - "identifier": "lmri_wp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - } - ] - }, - { - "title": "UC Medical Humanities Consortium", - "identifier": "medicalhumanities", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/056b67af316947fe73a958f2bc40d8adfaa4309be9ebfe051be96ff7243248de" - }, - "properties": { - "about": "

The University of California Medical Humanities Consortium was founded in January 2010 through a grant from UC\u2019s Office of the President, establishing it as a Multicampus Research Program. Recognizing that the medical humanities was pursued at multiple UC medical schools and health science centers, faculty directors from UC Berkeley, UC Davis, UC Irvine, and UCSF can now support collaborative student research projects, publications, and resources for courses and public events.

\n

Our aim is to have a substantial record of achievement and innovation in particular themes that we collectively pursue through our allocated research funding at the end of our five year grant period. We then hope to expand our efforts to include faculty and students at the remaining UC health science centers to promote an even more rigorous and representative approach to supporting humanism in medicine and health science education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies", - "body": "

Who Can Submit

\n

All materials published here at conducted under the auspices of the UC Medical Humanities Consortium. For additional information, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to eScholarship, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in eScholarship listed in the author agreement. This document can be found at www.medicalhumanities.ucsf.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submit a Paper", - "body": "

Who Can Submit

\n

All materials published here at conducted under the auspices of the UC Medical Humanities Consortium. For additional information, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.

\n

Please do not submit a paper without the previous consent and agreement of the Director of the UC Medical Humanities Consortium.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.
  2. \n
  3. Write an abstract for your paper of no more than 250 words. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. We will be able to inform researchers about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "UC Medical Humanities Press Book Series", - "identifier": "medicalhumanities_perspectives", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18fd63a84e07e81054d8d436062ef0cdd4ffeea25d604a0ca61a272d46236b06" - }, - "properties": { - "about": "

The University of California Medical Humanities Consortium was founded in January 2010 through a grant from UC\u2019s Office of the President, establishing it as a Multicampus Research Program. Recognizing that the medical humanities was pursued at multiple UC medical schools and health science centers, faculty directors from UC Berkeley, UC Davis, UC Irvine, and UCSF can now support collaborative student research projects, publications, and resources for courses and public events.

\n

Our aim is to have a substantial record of achievement and innovation in particular themes that we collectively pursue through our allocated research funding at the end of our five year grant period. We then hope to expand our efforts to include faculty and students at the remaining UC health science centers to promote an even more rigorous and representative approach to supporting humanism in medicine and health science education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies", - "body": "

Who Can Submit

\n

All materials published here at conducted under the auspices of the UC Medical Humanities Consortium. For additional information, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to eScholarship, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in eScholarship listed in the author agreement. This document can be found at www.medicalhumanities.ucsf.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submit a Paper", - "body": "

Who Can Submit

\n

All materials published here at conducted under the auspices of the UC Medical Humanities Consortium. For additional information, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.

\n

Please do not submit a paper without the previous consent and agreement of the Director of the UC Medical Humanities Consortium.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.
  2. \n
  3. Write an abstract for your paper of no more than 250 words. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. We will be able to inform researchers about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Perspectives in Medical Humanities: Essays and Articles", - "identifier": "medicalhumanities_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18fd63a84e07e81054d8d436062ef0cdd4ffeea25d604a0ca61a272d46236b06" - }, - "properties": { - "about": "

The University of California Medical Humanities Consortium was founded in January 2010 through a grant from UC\u2019s Office of the President, establishing it as a Multicampus Research Program. Recognizing that the medical humanities was pursued at multiple UC medical schools and health science centers, faculty directors from UC Berkeley, UC Davis, UC Irvine, and UCSF can now support collaborative student research projects, publications, and resources for courses and public events.

\n

Our aim is to have a substantial record of achievement and innovation in particular themes that we collectively pursue through our allocated research funding at the end of our five year grant period. We then hope to expand our efforts to include faculty and students at the remaining UC health science centers to promote an even more rigorous and representative approach to supporting humanism in medicine and health science education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies", - "body": "

Who Can Submit

\n

All materials published here at conducted under the auspices of the UC Medical Humanities Consortium. For additional information, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to eScholarship, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in eScholarship listed in the author agreement. This document can be found at www.medicalhumanities.ucsf.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submit a Paper", - "body": "

Who Can Submit

\n

All materials published here at conducted under the auspices of the UC Medical Humanities Consortium. For additional information, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.

\n

Please do not submit a paper without the previous consent and agreement of the Director of the UC Medical Humanities Consortium.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions, please contact Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu.
  2. \n
  3. Write an abstract for your paper of no more than 250 words. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We will then send you a message asking you to approve the PDF version. Please look it over within 5 days and reply to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu as soon as possible. At this stage, we're unable to make any changes beyond the truly necessary. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to Dr. Brian Dolan, Director of the UC Medical Humanities Consortium, at brian.dolan@ucsf.edu. We will be able to inform researchers about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Pacific Rim Research Program", - "identifier": "pacrim", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/878b3bd51b752049fb6a1eaf689c5386c6f8918f8f27925ad578266982b4c818" - }, - "properties": { - "about": "

The Pacific Rim Research Program is a multicampus program established to encourage\n Pacific Rim research on the ten campuses of the University of California. It sponsors a competitive grants program that provides funds for University of California faculty and graduate students who do research on Pacific Rim topics in a variety of disciplines.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - } - ], - "collections": [ - { - "title": "PACRIM Program Bibliography and Archive", - "identifier": "pacrim_pba", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/878b3bd51b752049fb6a1eaf689c5386c6f8918f8f27925ad578266982b4c818" - }, - "properties": { - "about": "

The Pacific Rim Research Program is a multicampus program established to encourage\n Pacific Rim research on the ten campuses of the University of California. It sponsors a competitive grants program that provides funds for University of California faculty and graduate students who do research on Pacific Rim topics in a variety of disciplines.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "pacrim_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/878b3bd51b752049fb6a1eaf689c5386c6f8918f8f27925ad578266982b4c818" - }, - "properties": { - "about": "

The Pacific Rim Research Program is a multicampus program established to encourage\n Pacific Rim research on the ten campuses of the University of California. It sponsors a competitive grants program that provides funds for University of California faculty and graduate students who do research on Pacific Rim topics in a variety of disciplines.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - } - ] - } - ] - }, - { - "title": "Dr. Samuel M. Jordan Center for Persian Studies and Culture", - "identifier": "persianstudies", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/d8bd99f25d0835475dd4a1205e1e241f256172b941a984bc1dba4fa939b6022b" - }, - "properties": { - "about": "

The Samuel Jordan Center for Persian Studies and Culture serves as an umbrella organization for various activities related to the study of Iran and the Persianate world at the University of California, Irvine.

\n

Courses, offered by the affiliated faculty, are the backbone of Center\u2019s academic and pedagogical mission. These include courses on language, literature, history, music and culture at undergraduate and graduate levels.

\n

The academic courses are administered through different Departments. The Humanities Language Learning Program offers courses on Persian language. Courses in ancient, medieval, and modern Persian history are administered by the Department of History. Courses on modern Persian literature and the literature of Iranian diaspora are offered through the Department of Comparative Literature, and courses on Persian music are housed within the Department of Music. There will also be occasional offerings in Avestan, Old Persian, Parthian, Middle Persian (Pahlavi) languages.

\n

The Center serves as the institutional home for the N\u0101me-ye Iran-e B\u0101st\u0101n, The International Journal of Ancient Iranian Studies, published by Iran University Press, the first refereed electronic journal on the history of Iran entitled The Bulletin of Ancient Iranian History (www.iranancienthistory.com).

\n

The Center also sponsors the Sasanika project which serves as the focal point for the study of the Sasanian Empire (224-651 CE) and research on the history of ancient Persia and Late Antiquity.

" - }, - "pages": [ - { - "slug": "series-editors", - "title": "Series Editors", - "body": "

Touraj Daryaee (UC Irvine) & Ali Mousavi (Los Angeles County Museum of Art)

\n

STUDIES IN ANCIENT IRANIAN CIVILIZATION

" - } - ], - "collections": [ - { - "title": "Studies in Ancient Iranian Civilization", - "identifier": "persianstudies_saic", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/d8bd99f25d0835475dd4a1205e1e241f256172b941a984bc1dba4fa939b6022b" - }, - "properties": { - "about": "

The Samuel Jordan Center for Persian Studies and Culture serves as an umbrella organization for various activities related to the study of Iran and the Persianate world at the University of California, Irvine.

\n

Courses, offered by the affiliated faculty, are the backbone of Center\u2019s academic and pedagogical mission. These include courses on language, literature, history, music and culture at undergraduate and graduate levels.

\n

The academic courses are administered through different Departments. The Humanities Language Learning Program offers courses on Persian language. Courses in ancient, medieval, and modern Persian history are administered by the Department of History. Courses on modern Persian literature and the literature of Iranian diaspora are offered through the Department of Comparative Literature, and courses on Persian music are housed within the Department of Music. There will also be occasional offerings in Avestan, Old Persian, Parthian, Middle Persian (Pahlavi) languages.

\n

The Center serves as the institutional home for the N\u0101me-ye Iran-e B\u0101st\u0101n, The International Journal of Ancient Iranian Studies, published by Iran University Press, the first refereed electronic journal on the history of Iran entitled The Bulletin of Ancient Iranian History (www.iranancienthistory.com).

\n

The Center also sponsors the Sasanika project which serves as the focal point for the study of the Sasanian Empire (224-651 CE) and research on the history of ancient Persia and Late Antiquity.

" - }, - "pages": [ - { - "slug": "series-editors", - "title": "Series Editors", - "body": "

Touraj Daryaee (UC Irvine) & Ali Mousavi (Los Angeles County Museum of Art)

\n

STUDIES IN ANCIENT IRANIAN CIVILIZATION

" - } - ] - } - ] - }, - { - "title": "Thesaurus Linguae Graecae\u00ae", - "identifier": "tlg", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/47708e4f91560b9ab3668d6914a8f867fba1e0c2af6c15b8d9ef514526684fee" - }, - "properties": { - "about": "

The Thesaurus Linguae Graecae\u00ae (TLG\u00ae) is a research center at the University of California, Irvine. Founded in 1972 the TLG\u00ae has created a digital library which contains most literary texts written in Greek from Homer (8 BC) to the fall of Byzantium in AD 1453. Its goal is to create a comprehensive digital library of Greek literature from antiquity to the present era.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "Thesaurus Linguae Graecae\u00ae (TLG\u00ae) only publishes materials about work conducted under the auspices of TLG\u00ae. For additional information, please contact tlg@ptolemy.tlg.uci.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Thesaurus Linguae Graecae\u00ae (TLG\u00ae) only publishes materials about work conducted under the auspices of TLG\u00ae. For additional information, please contact tlg@ptolemy.tlg.uci.edu." - } - ], - "collections": [ - { - "title": "Unicode Project", - "identifier": "tlg_unicode", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0c62a21e599b6db49b3722bf2da024b9a7c0d3d31b4ceb6bee71470eb2fb7678" - }, - "properties": { - "about": "

The Thesaurus Linguae Graecae\u00ae (TLG\u00ae) is a research center at the University of California, Irvine. Founded in 1972 the TLG\u00ae has created a digital library which contains most literary texts written in Greek from Homer (8 BC) to the fall of Byzantium in AD 1453. Its goal is to create a comprehensive digital library of Greek literature from antiquity to the present era.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "Thesaurus Linguae Graecae\u00ae (TLG\u00ae) only publishes materials about work conducted under the auspices of TLG\u00ae. For additional information, please contact tlg@ptolemy.tlg.uci.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Thesaurus Linguae Graecae\u00ae (TLG\u00ae) only publishes materials about work conducted under the auspices of TLG\u00ae. For additional information, please contact tlg@ptolemy.tlg.uci.edu." - } - ] - } - ] - }, - { - "title": "University of California All Campus Consortium on Research for Diversity", - "identifier": "ucaccord", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a556f771b5487031269d4d8c217d713a71e1d202f0dbdce8149b963cc5d5576e" - }, - "properties": { - "about": "

UC ACCORD, All Campus Consortium On Research for Diversity, is an interdisciplinary,\n multi-campus research center devoted to a more equitable distribution of educational\n resources and opportunities in California's diverse public schools and universities.\n This distinctive UC voice serves as an information and research clearinghouse and\n catalyst for promoting the delivery of high-quality, equitable schooling to all\n students. ACCORD harnesses the research expertise of the University of California to\n identify strategies that will increase college preparation, access, and retention.\n Policymakers, researchers, teachers, outreach staff, and students all benefit from this\n source of reliable information for equitable education policy and practice.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at ucaccord@ucla.edu. However, a\n citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement.

\n

http://ucaccord.gseis.ucla.edu/publications/copyright.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact ucaccord@ucla.edu.
  2. \n
  3. Write an abstract for your paper. It must be no more than 1 page. Please also select\n keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to ucaccord@ucla.edu. Include in an email message the following things: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact ucaccord@ucla.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to ucaccord@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Papers", - "identifier": "ucaccord_papers", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a556f771b5487031269d4d8c217d713a71e1d202f0dbdce8149b963cc5d5576e" - }, - "properties": { - "about": "

UC ACCORD, All Campus Consortium On Research for Diversity, is an interdisciplinary,\n multi-campus research center devoted to a more equitable distribution of educational\n resources and opportunities in California's diverse public schools and universities.\n This distinctive UC voice serves as an information and research clearinghouse and\n catalyst for promoting the delivery of high-quality, equitable schooling to all\n students. ACCORD harnesses the research expertise of the University of California to\n identify strategies that will increase college preparation, access, and retention.\n Policymakers, researchers, teachers, outreach staff, and students all benefit from this\n source of reliable information for equitable education policy and practice.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at ucaccord@ucla.edu. However, a\n citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement.

\n

http://ucaccord.gseis.ucla.edu/publications/copyright.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact ucaccord@ucla.edu.
  2. \n
  3. Write an abstract for your paper. It must be no more than 1 page. Please also select\n keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to ucaccord@ucla.edu. Include in an email message the following things: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact ucaccord@ucla.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to ucaccord@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Policy Briefs", - "identifier": "ucaccord_pb", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a556f771b5487031269d4d8c217d713a71e1d202f0dbdce8149b963cc5d5576e" - }, - "properties": { - "about": "

UC ACCORD, All Campus Consortium On Research for Diversity, is an interdisciplinary,\n multi-campus research center devoted to a more equitable distribution of educational\n resources and opportunities in California's diverse public schools and universities.\n This distinctive UC voice serves as an information and research clearinghouse and\n catalyst for promoting the delivery of high-quality, equitable schooling to all\n students. ACCORD harnesses the research expertise of the University of California to\n identify strategies that will increase college preparation, access, and retention.\n Policymakers, researchers, teachers, outreach staff, and students all benefit from this\n source of reliable information for equitable education policy and practice.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at ucaccord@ucla.edu. However, a\n citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement.

\n

http://ucaccord.gseis.ucla.edu/publications/copyright.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact ucaccord@ucla.edu.
  2. \n
  3. Write an abstract for your paper. It must be no more than 1 page. Please also select\n keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to ucaccord@ucla.edu. Include in an email message the following things: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact ucaccord@ucla.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to ucaccord@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "UC Consortium for Language Learning & Teaching", - "identifier": "uccllt", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/386edd92ae9628c42917cd38b0a575e410fd0560712e4b64886e7aa6cf4b2247" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Suggested Language for ORU Repository Author Agreement

\n

CDL offers this as a suggested model, not as legal advice.

\n

I grant the UC Consortium for Language Learning & Teaching and Berkeley Language Center on behalf of the Regents of the University of California (hereafter called Organized Research Unit) the non-exclusive right to make content for the eScholarship Repository (hereafter called the Work) available in any format in perpetuity.

\n

I warrant as follows:

\n

(a) that I have the full power and authority to make this agreement;
(b) that the Work does not infringe any copyright, nor violate any proprietary rights, nor contain any libelous matter, nor invade the privacy of any person; and
(c) that no right in the Work has in any way been sold, mortgaged, or otherwise disposed of, and that the Work is free from all liens and claims.

\n

I agree to hold the Organized Research Unit harmless from any claim, action, or proceeding alleging facts that constitute a breach of any warranty enumerated in this paragraph, and further agree to indemnify the Organized Research Unit and others against expenses and attorney\u2019s fees that may be incurred in defense against each claim, action, or proceeding.

\n

Option 1 (for ORUs allowing work to be removed):
I understand that once the Work is deposited in the repository, a citation to the Work will remain visible in perpetuity, even if the Work is updated or removed.

\n

Option 2 (for ORUs not allowing work to be removed):
I understand that once the Work is deposited in the repository, the Work may be updated, but it may not be removed.

" - } - ] - }, - { - "title": "UCEAP Mexico", - "identifier": "uceap", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/27c77bf38dee57f870d4591bb299b9af95f1df78d48f477489cc8990cc5359a1" - }, - "properties": { - "about": "

Since 1962, the University of California Education Abroad Program (UCEAP) has served as the UC systemwide international exchange program. Serving all ten campuses, UCEAP continues its support of the University of California\u2019s mission through academic instruction and exchange relationships around the world.

\n

Currently active in 42 countries with over 140 programs, UCEAP:

\n" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Founded in 1968, the UCEAP M\u00e9xico program is located in a country contiguous with the United States, which lends the program a very special character. Relations between M\u00e9xico and and United States\u2014and with border states like California in particular\u2014are intimate, complex, rich and contested, and they affect every aspect of life on both sides of the border. Study in M\u00e9xico consequently offers unparalleled opportunities for UC students to reach new understandings of what it means to be a Californian, a citizen of the United States, and a citizen of a rapidly globalizing society.

\n

UCEAP M\u00e9xico students are often drawn to address the most sensitive and urgent aspects of Mexican society and culture in their work. This can be a challenging, even transformative process. UCEAP M\u00e9xico\u2019s academic programs are designed to help students undertake such projects with success, and the results have frequently been outstanding. We have founded this Working Paper Series in order to showcase the remarkable contributions that these young scholars are making to the ever-evolving transnational dialog between the two North American United States\u2014of America, and of M\u00e9xico.

\n

Recent work by UCEAP M\u00e9xico students has won the UCEAP Undergraduate Research Award, given for \"quality of research concept and execution, integral and innovative use of resources at the study site, quality of presentation, distinctiveness of the research, and quality of faculty support.\" (see http://eap.ucop.edu/AboutUs/Pages/press_release_detail.aspx?nID=243)

\n

PROGRAMS

\n

There are two program options for UCEAP M\u00e9xico: study at the Universidad Aut\u00f3noma de M\u00e9xico (UNAM), and the Field Research Program (FRP).

\n

UNAM

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/national_autonomous_univ_mexico.aspx)

\n

The National Autonomous University of Mexico (UNAM) is the number one\u2013 ranked university in Latin America, recently awarded the Prince of Asturias Award in Communication and Humanities. It is also one of the world\u2019s largest public universities, with over 300,000 students enrolled and 35,000 professors and researchers on staff.

\n

During the first four weeks in Mexico City, in preparation for the beginning of the academic year in August, students take an intensive review of the Spanish language and Contemporary Mexico class that presents contemporary Mexican culture, society, and diversity, in addition to a historical perspective.

\n

At the UNAM, Students enroll full-time in regularly offered classes for a semester or for an entire year, making progress toward their UC degrees in a wide variety of fields.

\n

In addition, UCEAP M\u00e9xico coordinates and oversees the many opportunities for individual studies, internships, and volunteer work that are available to UNAM students in Mexico City.

\n

FRP

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx)

\n

In the Field Research Program, students devote a semester to an independent research project.

\n

During the first five weeks in Mexico City, in addition to an intensive review of the Spanish language, students take an accelerated course in field research techniques and ethnography, as well as becoming familiar with local libraries, archives, and other research centers. In addition, a Contemporary Mexico class provides familiarity with major themes in Mexican history and scholarship. The intensity of this period is punctuated by roundtable discussions with the Mexican scholars who will become the mentors for the students\u2019 research projects, offering advance guidance on proposals and appropriate research sites. These scholars form part of the Editorial Board of our Working Papers Series.

\n

The remainder of the semester is dedicated to individual field research at one of a number of sites throughout the country (Currently available research sites and mentors are listed at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx). Students meet with mentors at least once a week for academic advice and guidance.

\n

At the end of the program, students write up the results of their research in a substantial paper, which they also present in Mexico City for fellow program participants, instructors, and the Visiting Professor.

" - }, - { - "slug": "author-agreement", - "title": "Diarios de Campo/Fieldwork Diaries, Author Agreement", - "body": "

_________________________________________ (hereafter called the \u201cAuthor\u201d) grants UCEAP M\u00e9xico (hereafter called the \u201cOrganized Research Unit\u201d) on behalf of The Regents of the University of California (hereafter called \u201cThe Regents\u201d) the non-exclusive right to make any material submitted by the Author to the Working Papers Series (hereafter called the \u201cWork\u201d) available in eScholarship in any format in perpetuity.

\n

The Author warrants as follows:

\n

(a) that the Author has the full power and authority to make this agreement;
(b) that the Work does not infringe any copyright, nor violate any proprietary rights, nor contain any libelous matter, nor invade the privacy of any person or third party; and
(c) that no right in the Work has in any way been sold, mortgaged, or otherwise disposed of, and that the Work is free from all liens and claims.

\n

The Author understands that:

\n

(a) once the Work is deposited in eScholarship, a full bibliographic citation to the Work will remain visible in perpetuity, even if the Work is updated or removed.
(b) once a peer-reviewed Work is deposited in the repository, it may not be removed.

\n

For authors who are not employees of the University of California:

\n

The Author agrees to hold The Regents of the University of California, the California Digital Library, the Journal, and its agents harmless for any losses, claims, damages, awards, penalties, or injuries incurred, including any reasonable attorney's fees that arise from any breach of warranty or for any claim by any third party of an alleged infringement of copyright or any other intellectual property rights arising from the Depositor\u2019s submission of materials with the California Digital Library or of the use by the University of California or other users of such materials.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

UCEAP Systemwide Office
6950 Hollister Avenue, Suite 200
Goleta, CA 93117-5823
Phone: (805) 893-4762
Fax: (805) 893-2583

\n

UCEAP M\u00e9xico Staff:
Regional Director, Karen Mead, KMead@eap.ucop.edu

\n

(805) 893-2712 Academic Support, Monica Rocha

\n

(805) 893-4534 Reciprocal Exchanges, Adrian Ramos

\n

Working Papers Series Coordinator: Elisabeth Le Guin, leguin@humnet.ucla.edu

\n

UCEAP M\u00e9xico Coordinadora de programa, Ver\u00f3nica T\u00e9llez Esquivel, 'vte' vte@unam.mx

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Diarios de Campo/Fieldwork Diaries only publishes materials about work conducted under the auspices of the UCEAP M\u00e9xico programs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the Coordinator at leguin@humnet.ucla.edu.

\n

What You May Submit

\n

Diarios de Campo/Fieldwork Diaries welcomes submissions on any topic, in the following genres and formats:

\n\n

When To Submit

\n

Diarios de Campo/Fieldwork Diaries will appear twice yearly, in February and July. Deadlines for consideration in the next issue are the end of the semester preceding, that is, approx. Dec 1st (for the February number) and approx. May 1st (for the July number).

\n

Rights and Permissions

\n

Before submitting a paper to Diarios de Campo/Fieldwork Diaries, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

All submissions are subject to the standard author agreement, an example of which appears here.

\n

Peer Review

\n

Submitted work will be reviewed by members of the Editorial Board following each submission deadline, and authors will be informed of one of three possible outcomes within a month of the deadline:

\n
    \n
  1. Accepted (Some revisions are almost always necessary)
  2. \n
  3. Revise and re-submit (Substantive revisions will be required for acceptance; please submit for a later issue)
  4. \n
  5. Rejected (not appropriate for this publication)
  6. \n
\n

Author Review

\n

Authors whose work is accepted will have a month to execute suggested revisions; if this process takes longer than a month, publication may be delayed to a subsequent issue at the Editorial Board\u2019s discretion.

\n

Once the work has been revised, it will be converted into a PDF for publication on the Working Papers site. Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we are unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Revising Published Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the Coordinator at leguin@humnet.ucla.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the Coordinator: leguin@humnet.ucla.edu.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

It is very important to submit your work for consideration in the allowed formats. Failure to do this may result in your submission being rejected without having been read or viewed.

\n

Allowable formats:

\n

Text documents: MS Word 2011
Charts, graphs: MS Excel
Graphics: within graphics functions of MS Word, OR as .jpg files OR as .tiff files
Photos: as .jpg files OR as .tiff files
Audio: as mp3 or mp4 files
Video: as .mov files (viewable in QuickTime)

" - } - ], - "collections": [ - { - "title": "Diarios de campo/Experiences in multicultural Mexico", - "identifier": "uceap_diariosdecampo_fieldworkdiaries", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/27c77bf38dee57f870d4591bb299b9af95f1df78d48f477489cc8990cc5359a1" - }, - "properties": { - "about": "

Since 1962, the University of California Education Abroad Program (UCEAP) has served as the UC systemwide international exchange program. Serving all ten campuses, UCEAP continues its support of the University of California\u2019s mission through academic instruction and exchange relationships around the world.

\n

Currently active in 42 countries with over 140 programs, UCEAP:

\n" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Founded in 1968, the UCEAP M\u00e9xico program is located in a country contiguous with the United States, which lends the program a very special character. Relations between M\u00e9xico and and United States\u2014and with border states like California in particular\u2014are intimate, complex, rich and contested, and they affect every aspect of life on both sides of the border. Study in M\u00e9xico consequently offers unparalleled opportunities for UC students to reach new understandings of what it means to be a Californian, a citizen of the United States, and a citizen of a rapidly globalizing society.

\n

UCEAP M\u00e9xico students are often drawn to address the most sensitive and urgent aspects of Mexican society and culture in their work. This can be a challenging, even transformative process. UCEAP M\u00e9xico\u2019s academic programs are designed to help students undertake such projects with success, and the results have frequently been outstanding. We have founded this Working Paper Series in order to showcase the remarkable contributions that these young scholars are making to the ever-evolving transnational dialog between the two North American United States\u2014of America, and of M\u00e9xico.

\n

Recent work by UCEAP M\u00e9xico students has won the UCEAP Undergraduate Research Award, given for \"quality of research concept and execution, integral and innovative use of resources at the study site, quality of presentation, distinctiveness of the research, and quality of faculty support.\" (see http://eap.ucop.edu/AboutUs/Pages/press_release_detail.aspx?nID=243)

\n

PROGRAMS

\n

There are two program options for UCEAP M\u00e9xico: study at the Universidad Aut\u00f3noma de M\u00e9xico (UNAM), and the Field Research Program (FRP).

\n

UNAM

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/national_autonomous_univ_mexico.aspx)

\n

The National Autonomous University of Mexico (UNAM) is the number one\u2013 ranked university in Latin America, recently awarded the Prince of Asturias Award in Communication and Humanities. It is also one of the world\u2019s largest public universities, with over 300,000 students enrolled and 35,000 professors and researchers on staff.

\n

During the first four weeks in Mexico City, in preparation for the beginning of the academic year in August, students take an intensive review of the Spanish language and Contemporary Mexico class that presents contemporary Mexican culture, society, and diversity, in addition to a historical perspective.

\n

At the UNAM, Students enroll full-time in regularly offered classes for a semester or for an entire year, making progress toward their UC degrees in a wide variety of fields.

\n

In addition, UCEAP M\u00e9xico coordinates and oversees the many opportunities for individual studies, internships, and volunteer work that are available to UNAM students in Mexico City.

\n

FRP

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx)

\n

In the Field Research Program, students devote a semester to an independent research project.

\n

During the first five weeks in Mexico City, in addition to an intensive review of the Spanish language, students take an accelerated course in field research techniques and ethnography, as well as becoming familiar with local libraries, archives, and other research centers. In addition, a Contemporary Mexico class provides familiarity with major themes in Mexican history and scholarship. The intensity of this period is punctuated by roundtable discussions with the Mexican scholars who will become the mentors for the students\u2019 research projects, offering advance guidance on proposals and appropriate research sites. These scholars form part of the Editorial Board of our Working Papers Series.

\n

The remainder of the semester is dedicated to individual field research at one of a number of sites throughout the country (Currently available research sites and mentors are listed at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx). Students meet with mentors at least once a week for academic advice and guidance.

\n

At the end of the program, students write up the results of their research in a substantial paper, which they also present in Mexico City for fellow program participants, instructors, and the Visiting Professor.

" - }, - { - "slug": "author-agreement", - "title": "Diarios de Campo/Fieldwork Diaries, Author Agreement", - "body": "

_________________________________________ (hereafter called the \u201cAuthor\u201d) grants UCEAP M\u00e9xico (hereafter called the \u201cOrganized Research Unit\u201d) on behalf of The Regents of the University of California (hereafter called \u201cThe Regents\u201d) the non-exclusive right to make any material submitted by the Author to the Working Papers Series (hereafter called the \u201cWork\u201d) available in eScholarship in any format in perpetuity.

\n

The Author warrants as follows:

\n

(a) that the Author has the full power and authority to make this agreement;
(b) that the Work does not infringe any copyright, nor violate any proprietary rights, nor contain any libelous matter, nor invade the privacy of any person or third party; and
(c) that no right in the Work has in any way been sold, mortgaged, or otherwise disposed of, and that the Work is free from all liens and claims.

\n

The Author understands that:

\n

(a) once the Work is deposited in eScholarship, a full bibliographic citation to the Work will remain visible in perpetuity, even if the Work is updated or removed.
(b) once a peer-reviewed Work is deposited in the repository, it may not be removed.

\n

For authors who are not employees of the University of California:

\n

The Author agrees to hold The Regents of the University of California, the California Digital Library, the Journal, and its agents harmless for any losses, claims, damages, awards, penalties, or injuries incurred, including any reasonable attorney's fees that arise from any breach of warranty or for any claim by any third party of an alleged infringement of copyright or any other intellectual property rights arising from the Depositor\u2019s submission of materials with the California Digital Library or of the use by the University of California or other users of such materials.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

UCEAP Systemwide Office
6950 Hollister Avenue, Suite 200
Goleta, CA 93117-5823
Phone: (805) 893-4762
Fax: (805) 893-2583

\n

UCEAP M\u00e9xico Staff:
Regional Director, Karen Mead, KMead@eap.ucop.edu

\n

(805) 893-2712 Academic Support, Monica Rocha

\n

(805) 893-4534 Reciprocal Exchanges, Adrian Ramos

\n

Working Papers Series Coordinator: Elisabeth Le Guin, leguin@humnet.ucla.edu

\n

UCEAP M\u00e9xico Coordinadora de programa, Ver\u00f3nica T\u00e9llez Esquivel, 'vte' vte@unam.mx

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Diarios de Campo/Fieldwork Diaries only publishes materials about work conducted under the auspices of the UCEAP M\u00e9xico programs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the Coordinator at leguin@humnet.ucla.edu.

\n

What You May Submit

\n

Diarios de Campo/Fieldwork Diaries welcomes submissions on any topic, in the following genres and formats:

\n\n

When To Submit

\n

Diarios de Campo/Fieldwork Diaries will appear twice yearly, in February and July. Deadlines for consideration in the next issue are the end of the semester preceding, that is, approx. Dec 1st (for the February number) and approx. May 1st (for the July number).

\n

Rights and Permissions

\n

Before submitting a paper to Diarios de Campo/Fieldwork Diaries, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

All submissions are subject to the standard author agreement, an example of which appears here.

\n

Peer Review

\n

Submitted work will be reviewed by members of the Editorial Board following each submission deadline, and authors will be informed of one of three possible outcomes within a month of the deadline:

\n
    \n
  1. Accepted (Some revisions are almost always necessary)
  2. \n
  3. Revise and re-submit (Substantive revisions will be required for acceptance; please submit for a later issue)
  4. \n
  5. Rejected (not appropriate for this publication)
  6. \n
\n

Author Review

\n

Authors whose work is accepted will have a month to execute suggested revisions; if this process takes longer than a month, publication may be delayed to a subsequent issue at the Editorial Board\u2019s discretion.

\n

Once the work has been revised, it will be converted into a PDF for publication on the Working Papers site. Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we are unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Revising Published Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the Coordinator at leguin@humnet.ucla.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the Coordinator: leguin@humnet.ucla.edu.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

It is very important to submit your work for consideration in the allowed formats. Failure to do this may result in your submission being rejected without having been read or viewed.

\n

Allowable formats:

\n

Text documents: MS Word 2011
Charts, graphs: MS Excel
Graphics: within graphics functions of MS Word, OR as .jpg files OR as .tiff files
Photos: as .jpg files OR as .tiff files
Audio: as mp3 or mp4 files
Video: as .mov files (viewable in QuickTime)

" - } - ] - } - ] - }, - { - "title": "University of California Energy Institute", - "identifier": "ucei", - "schema": "nglp:unit", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ], - "collections": [ - { - "title": "Basic Science", - "identifier": "ucei_basic", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - }, - { - "title": "Center for the Study of Energy Markets", - "identifier": "ucei_csem", - "schema": "nglp:unit", - "properties": { - "about": "

The mission of the Center for the Study of Energy Markets (CSEM ) (formerly known as POWER), is to foster top research on energy policy in order to promote better understanding of the functioning of energy markets and the impacts of deregulation in energy industries. CSEM also seeks to develop strategies and tools that can be used by regulatory agencies and policy makers for the analysis of energy markets. CSEM is a program of the University of California Energy Institute (UCEI) and also receives significant financial support from the California Energy Commission.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "ucei_csem_rw", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the Center for the Study of Energy Markets (CSEM ) (formerly known as POWER), is to foster top research on energy policy in order to promote better understanding of the functioning of energy markets and the impacts of deregulation in energy industries. CSEM also seeks to develop strategies and tools that can be used by regulatory agencies and policy makers for the analysis of energy markets. CSEM is a program of the University of California Energy Institute (UCEI) and also receives significant financial support from the California Energy Commission.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - } - ] - }, - { - "title": "Development and Technology", - "identifier": "ucei_devtech", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - }, - { - "title": "Policy and Economics", - "identifier": "ucei_policy", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "ucei_rw", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - } - ] - }, - { - "title": "UC Global Health Institute", - "identifier": "ucghi", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/e8b21492652261a3e8e27a02193e018c94205e6caf0ba13adaab54825e97027c" - }, - "properties": { - "about": "

Recognizing the long-standing and emerging challenges to global health, the\n University of California Global Health Institute will create multi-campus,\n transdisciplinary Centers of Expertise to address these challenges through a\n novel problem-based and action-oriented approach. By integrating and\n leveraging the diverse intellectual capacity of faculty on the ten UC\n campuses, this groundbreaking University-wide initiative will focus on\n producing leaders and practitioners of global health, conducting innovative\n research, and developing international partnerships to improve the health of\n vulnerable people and communities in California and world-wide. The\n Institute will take advantage of cutting-edge technology to enable teaching\n and research and to connect faculty, researchers, students and partners\n around the world.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at Paula Murphy at ucghi@globalhealth.ucsf.edu.\n However, a citation to the original version of the paper will always remain\n on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If\n you use a word-processing program other than Microsoft Word, look for an\n \"export\" or \"save as\" option in your program to save it as an RTF file.\n If you have questions, please contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  2. \n
  3. Write an abstract for your paper. Please try to keep it to under one\n page. Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Paula Murphy at ucghi@globalhealth.ucsf.edu. Include in an email message the following\n things: abstract; keywords; and name, affiliation (department and\n university), and email address for each author.
  6. \n
  7. If you have any questions, contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  8. \n
\n

Overview of the Process

\n

OPTION 1 (author review):
After you submit your paper, we will create an\n Adobe Acrobat (PDF) version of the paper. We will then send you a message\n asking you to approve the PDF version. Please look it over within 5 days and\n reply to Paula Murphy at ucghi@globalhealth.ucsf.edu as soon as possible. At\n this stage, we're unable to make any changes beyond the truly necessary. You\n will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to Paula Murphy at ucghi@globalhealth.ucsf.edu. We will be able to inform repository users\n about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in \"How to Submit\"; however, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "ucghi_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/e8b21492652261a3e8e27a02193e018c94205e6caf0ba13adaab54825e97027c" - }, - "properties": { - "about": "

Recognizing the long-standing and emerging challenges to global health, the\n University of California Global Health Institute will create multi-campus,\n transdisciplinary Centers of Expertise to address these challenges through a\n novel problem-based and action-oriented approach. By integrating and\n leveraging the diverse intellectual capacity of faculty on the ten UC\n campuses, this groundbreaking University-wide initiative will focus on\n producing leaders and practitioners of global health, conducting innovative\n research, and developing international partnerships to improve the health of\n vulnerable people and communities in California and world-wide. The\n Institute will take advantage of cutting-edge technology to enable teaching\n and research and to connect faculty, researchers, students and partners\n around the world.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at Paula Murphy at ucghi@globalhealth.ucsf.edu.\n However, a citation to the original version of the paper will always remain\n on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If\n you use a word-processing program other than Microsoft Word, look for an\n \"export\" or \"save as\" option in your program to save it as an RTF file.\n If you have questions, please contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  2. \n
  3. Write an abstract for your paper. Please try to keep it to under one\n page. Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Paula Murphy at ucghi@globalhealth.ucsf.edu. Include in an email message the following\n things: abstract; keywords; and name, affiliation (department and\n university), and email address for each author.
  6. \n
  7. If you have any questions, contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  8. \n
\n

Overview of the Process

\n

OPTION 1 (author review):
After you submit your paper, we will create an\n Adobe Acrobat (PDF) version of the paper. We will then send you a message\n asking you to approve the PDF version. Please look it over within 5 days and\n reply to Paula Murphy at ucghi@globalhealth.ucsf.edu as soon as possible. At\n this stage, we're unable to make any changes beyond the truly necessary. You\n will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to Paula Murphy at ucghi@globalhealth.ucsf.edu. We will be able to inform repository users\n about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in \"How to Submit\"; however, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Department of Art", - "identifier": "uciart", - "schema": "nglp:unit", - "properties": { - "about": "

Headed by an internationally distinguished faculty, the Graduate Program offers a rigorous, interdisciplinary environment for training in the visual arts. The program provides a thorough and intensive professional training for students wishing to pursue careers in the field of contemporary art, and emphasizes experimental and interdisciplinary approaches to art making, while also providing a solid grounding in various disciplinary mediums and post-studio practices. The MFA in Art with a Concentration in Critical & Curatorial Studies educates graduate students to pursue a career in the fields of curatorial practice, art criticism, and public programming.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Headed by an internationally distinguished faculty, the Graduate Program offers a rigorous, interdisciplinary environment for training in the visual arts. The program provides a thorough and intensive professional training for students wishing to pursue careers in the field of contemporary art, and emphasizes experimental and interdisciplinary approaches to art making, while also providing a solid grounding in various disciplinary mediums and post-studio practices. The MFA in Art with a Concentration in Critical & Curatorial Studies educates graduate students to pursue a career in the fields of curatorial practice, art criticism, and public programming." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

http://studioart.arts.uci.edu/

\n

Department of Art
Claire Trevor School of the Arts
University of California, Irvine
3229 Art Culture and Technology
Irvine, CA 92697-2775

\n

StuArt@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Department of Art only publishes materials about work conducted under the auspices of Department of Art. The editors reserve the right to determine the suitability of submissions. For additional information, please contact StuArt@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: StuArt@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator StuArt@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "A Body of Knowledge Conference", - "identifier": "bokconference", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/32f2ede144d6f6d3a6e954b0b2000b0715111791dd926c478ff78cbc6d10fe57" - }, - "properties": { - "about": "

This conference brought together an interdisciplinary group including cognitive scientists, neuroscientists, philosophers of mind, physiologists, psychologists, philosophers, anthropologists, computer scientists, artists and designers to explore emerging cognitive neuroscience and theories of embodied cognition. The conference took place at Claire Trevor School of the Arts Dec. 8-10, 2016. The goal has been to begin developing new discourses around arts practices by interfacing traditions of practice with emerging paradigms of Embodied (and Enactive, Situated, Distributed, Extended) paradigms of cognition. This project is ongoing.

" - }, - "pages": [ - { - "slug": "about", - "title": "About A Body of Knowledge Conference", - "body": "

Please visit http://sites.uci.edu/bok2016/ for more information about the conference and videos of plenary speeches and events.\u00a0

" - }, - { - "slug": "contact", - "title": "Contact us", - "body": "Please visit http://sites.uci.edu/bok2016/ for more information about the conference and videos of plenary speeches and events.\u00a0" - } - ], - "collections": [ - { - "title": "2016 Conference Proceedings", - "identifier": "bokconference_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Work: TODO" - } - } - ] - }, - { - "title": "Recent Work", - "identifier": "uciart_rw", - "schema": "nglp:series", - "properties": { - "about": "

Headed by an internationally distinguished faculty, the Graduate Program offers a rigorous, interdisciplinary environment for training in the visual arts. The program provides a thorough and intensive professional training for students wishing to pursue careers in the field of contemporary art, and emphasizes experimental and interdisciplinary approaches to art making, while also providing a solid grounding in various disciplinary mediums and post-studio practices. The MFA in Art with a Concentration in Critical & Curatorial Studies educates graduate students to pursue a career in the fields of curatorial practice, art criticism, and public programming.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Headed by an internationally distinguished faculty, the Graduate Program offers a rigorous, interdisciplinary environment for training in the visual arts. The program provides a thorough and intensive professional training for students wishing to pursue careers in the field of contemporary art, and emphasizes experimental and interdisciplinary approaches to art making, while also providing a solid grounding in various disciplinary mediums and post-studio practices. The MFA in Art with a Concentration in Critical & Curatorial Studies educates graduate students to pursue a career in the fields of curatorial practice, art criticism, and public programming." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

http://studioart.arts.uci.edu/

\n

Department of Art
Claire Trevor School of the Arts
University of California, Irvine
3229 Art Culture and Technology
Irvine, CA 92697-2775

\n

StuArt@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Department of Art only publishes materials about work conducted under the auspices of Department of Art. The editors reserve the right to determine the suitability of submissions. For additional information, please contact StuArt@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: StuArt@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator StuArt@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Department of History", - "identifier": "ucidepartmentofhistory", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/26380a352b6d9e592f2e3c367a4c7a0db372e5013087a4f563c9eb667c9663f0" - }, - "properties": { - "about": "

The discipline of history provides a foundation for the humanities and the social sciences. Our courses and research specialties span centuries of human experience and deal with an array of thematic and area emphases. Our strong undergraduate program offers opportunities for internships, overseas study, and advanced research. Our small, high-quality graduate program combines emphases in specific regions of the world (America and Latin America, Asia, Europe, Middle East, and Africa) and specific thematic specialties (gender and sexuality; medicine and science; slavery, race, diaspora; empire and colonialism; environment). We especially encourage a self-conscious use of theoretical perspectives and historical approaches that stress global and transnational connections.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Marc Kanda

Department Manager

mhkanda@uci.edu

(949) 824-6522

Hannah Mahoney

Undergraduate Program Coordinator

hmahoney@uci.edu
949) 824-8248


Arielle Hinojosa

Graduate Program Coordinator
hinojosa@uci.edu
(949) 824-5891

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Department of History only publishes materials about work conducted under the auspices of The Department of History. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mhkanda@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mhkanda@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: mhkanda@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "ucidepartmentofhistory_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Department of History researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "2015 Undergraduate History Conference", - "identifier": "ucidepartmentofhistory_uhc", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/26380a352b6d9e592f2e3c367a4c7a0db372e5013087a4f563c9eb667c9663f0" - }, - "properties": { - "about": "

The discipline of history provides a foundation for the humanities and the social sciences. Our courses and research specialties span centuries of human experience and deal with an array of thematic and area emphases. Our strong undergraduate program offers opportunities for internships, overseas study, and advanced research. Our small, high-quality graduate program combines emphases in specific regions of the world (America and Latin America, Asia, Europe, Middle East, and Africa) and specific thematic specialties ( gender and sexuality; medicine and science; slavery, race, diaspora; empire and colonialism; environment). We especially encourage a self-conscious use of theoretical perspectives and historical approaches that stress global and transnational connections.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Marc Kanda
Department Manager
mhkanda@uci.edu
(949) 824-6522
Hannah Mahoney
Undergraduate Program Coordinator
hmahoney@uci.edu
(949) 824-8248
Arielle Hinojosa
Graduate Program Coordinator
hinojosa@uci.edu
(949) 824-5891" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Department of History only publishes materials about work conducted under the auspices of The Department of History. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mhkanda@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mhkanda@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: mhkanda@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "2016 Undergraduate History Conference", - "identifier": "ucidepartmentofhistory_uhc2016", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/26380a352b6d9e592f2e3c367a4c7a0db372e5013087a4f563c9eb667c9663f0" - }, - "properties": { - "about": "

The discipline of history provides a foundation for the humanities and the social sciences. Our courses and research specialties span centuries of human experience and deal with an array of thematic and area emphases. Our strong undergraduate program offers opportunities for internships, overseas study, and advanced research. Our small, high-quality graduate program combines emphases in specific regions of the world (America and Latin America, Asia, Europe, Middle East, and Africa) and specific thematic specialties ( gender and sexuality; medicine and science; slavery, race, diaspora; empire and colonialism; environment). We especially encourage a self-conscious use of theoretical perspectives and historical approaches that stress global and transnational connections.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Marc Kanda
Department Manager
mhkanda@uci.edu
(949) 824-6522
Hannah Mahoney
Undergraduate Program Coordinator
hmahoney@uci.edu
(949) 824-8248
Arielle Hinojosa
Graduate Program Coordinator
hinojosa@uci.edu
(949) 824-5891" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Department of History only publishes materials about work conducted under the auspices of The Department of History. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mhkanda@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mhkanda@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: mhkanda@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "UC Irvine Department of Medicine", - "identifier": "ucideptmed", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0a4f6192309571b04b897a168e6c2d19cd22cba7ce1d51c3dee72de6e12416a3" - }, - "properties": { - "about": "

The Department of Medicine in UC Irvine's School of Medicine is\n a dynamic, multispecialty group of highly skilled faculty members who \nwork at the forefront of medical discovery and education to deliver \nexcellent and comprehensive patient care.

Our department, which is comprised of 11 divisions, oversees a \ncomprehensive undergraduate medical education curriculum, an internal \nmedicine residency program, fellowships and clinical programs in a broad\n range of internal medicine subspecialties.

" - }, - "pages": [ - { - "slug": "about", - "title": "About UC Irvine Department of Medicine", - "body": "

The Department of Medicine in UC Irvine's School of Medicine is\n a dynamic, multispecialty group of highly skilled faculty members who \nwork at the forefront of medical discovery and education to deliver \nexcellent and comprehensive patient care.

Our department, which is comprised of 11 divisions, oversees a \ncomprehensive undergraduate medical education curriculum, an internal \nmedicine residency program, fellowships and clinical programs in a broad\n range of internal medicine subspecialties.

" - }, - { - "slug": "contact", - "title": "Contact us", - "body": "

UCJOM / Department of Medicine

UC Irvine Health

333 The City Blvd W, Suite 400, Orange, CA 92868

Email: UCJOMed@gmail.com

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

UC Irvine Department of Medicine only accepts materials about work conducted under its auspices. \nThe editors reserve the right to determine the suitability of \nsubmissions. For additional information, please contact the administrator.

Removal

Once\n posted to the repository, a work cannot generally be removed. We feel \nit is important to provide perpetual access to materials published \nwithin eScholarship whenever possible and appropriate. However, we will \nremove publications under special circumstances, including in the case \nof submission errors, rights violations, or inappropriate content.\n Please be aware, however, that even after the removal of a work, a \ncitation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

UC Irvine Department of Medicine does not require copyright transfer, only permission to reproduce and \ndistribute the work. Copyright holders retain copyright ownership, \ngranting us a nonexclusive license to publish the material, meaning that\n the author may also publish it elsewhere. Before submitting a paper to\n the repository, please be sure that all necessary permissions have been\n cleared in any third party material. All submissions to the repository \nare subject to the standard author agreement, an example of which may be\n found in the eScholarship help center.


Submission guidelines

UC Irvine Department of Medicine only accepts materials about work conducted under its auspices. \nThe administrators reserve the right to determine the suitability of \nsubmissions. For additional information, please contact the administrator.

" - } - ] - }, - { - "title": "Department of Economics", - "identifier": "uciecon", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4c569a5525bb9b2b2009da91e8939e8af1ce6c91557267de574621df90eb784f" - }, - "properties": { - "about": "

The Department of Economics has over 20 permanent faculty members, with research and teaching interests that span a broad range of areas within micro- and macroeconomics, and the evaluation of public policy. Building on strengths in econometrics (Bayesian and classical), public choice, and empirical microeconomics particularly in transportation, energy, industrial organization, labor, and urban development, the Department offers both a B.A. degree program and a Ph.D. degree program. These web pages provide more information about those programs, the faculty and the Department's research activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Department of Economics, University of California, Irvine only publishes materials about work conducted under the auspices of the department." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The Department of Economics, University of California, Irvine only publishes materials about work conducted under the auspices of the department." - } - ], - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "uciecon_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Department of Economics researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - } - ] - }, - { - "title": "Department of Emergency Medicine (UCI)", - "identifier": "uciem", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/59d34d46700b2ecdfde58f90d06e59d8805598b246a279e163864f6f8e6dc19b" - }, - "properties": { - "about": "

The Department of Emergency Medicine in the University of California (UC), Irvine School of Medicine has 15 full-time faculty members specializing in disaster and public health preparedness, emergency medical services, infectious disease, informatics, injury prevention, international emergency medicine, medical education, pediatrics, public health, toxicology, and ultrasound, The Department has a highly ranked three year emergency medicine residency training program fully accredited since 1989. UC Irvine Medical Center, a 400 bed full-service university hospital is the primary teaching center for the UC Irvine School of Medicine. The UC Irvine Medical Center is the only Level I Trauma Center and Burn Center in Orange County, treating approximately 2,200 trauma and 44,000 medical patients annually.

" - }, - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "uciem_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Department of Emergency Medicine researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Other Recent Work", - "identifier": "uciem_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/59d34d46700b2ecdfde58f90d06e59d8805598b246a279e163864f6f8e6dc19b" - }, - "properties": { - "about": "

The Department of Emergency Medicine in the University of California (UC), Irvine School of Medicine has 15 full-time faculty members specializing in disaster and public health preparedness, emergency medical services, infectious disease, informatics, injury prevention, international emergency medicine, medical education, pediatrics, public health, toxicology, and ultrasound, The Department has a highly ranked three year emergency medicine residency training program fully accredited since 1989. UC Irvine Medical Center, a 400 bed full-service university hospital is the primary teaching center for the UC Irvine School of Medicine. The UC Irvine Medical Center is the only Level I Trauma Center and Burn Center in Orange County, treating approximately 2,200 trauma and 44,000 medical patients annually.

" - } - }, - { - "title": "Western Journal of Emergency Medicine International Abstracts", - "identifier": "uciem_westjem_ia", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/7d40f70a27ef4c742c86f3382494c057813bd04c20edcca1806fb06b2373ea63" - }, - "properties": { - "about": "

Western Journal of Emergency Medicine International Abstracts

\n

The Western Journal of Emergency Medicine now hosts translated, international abstracts of recent articles. The complete website can be found at http://escholarship.org/uc/uciem_westjem.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Rex Chang

\n

Email: editor@westjem.org

\n

phone: 714-456-6389

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

All Policies can be found here.

\n

" - } - ], - "collections": [ - { - "title": "WestJEM International Abstracts: Spanish", - "identifier": "uciem_westjem_ia_spanish", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b5d5a1de7ace95b5e83c65961a57f3d6a21284ab7310eab38ec9211a7e01dd31" - }, - "properties": { - "about": "

Western Journal of Emergency Medicine International Abstracts

\n

The Western Journal of Emergency Medicine now hosts translated, international abstracts of recent articles. The complete website can be found at http://escholarship.org/uc/uciem_westjem.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Rex Chang

\n

Email: editor@westjem.org

\n

phone: 714-456-6389

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

All Policies can be found here.

\n

" - } - ] - }, - { - "title": "WestJEM International Abstracts: Thai", - "identifier": "uciem_westjem_ia_thai", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ff097e20e3e7e9ed0b8af118dd87f28b0a11f0a2dcb44bd4a0a62ba51bdfe07c" - }, - "properties": { - "about": "

Western Journal of Emergency Medicine International Abstracts

\n

The Western Journal of Emergency Medicine now hosts translated, international abstracts of recent articles. The complete website can be found at http://escholarship.org/uc/uciem_westjem.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Rex Chang

\n

Email: editor@westjem.org

\n

phone: 714-456-6389

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

All Policies can be found here.

\n

" - } - ] - } - ] - } - ] - }, - { - "title": "Department of Earth System Science", - "identifier": "uciess", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ebe222566d067042f1bc595f49ab062fcc9cb6a4814ae21c9cf32567b690aed6" - }, - "properties": { - "about": "

The Department of Earth System Science (ESS) focuses on how the atmosphere, land, and oceans interact as a system, and how the Earth will change over a human lifetime.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Founded in 1991, the Department of Earth System Science at the University of California, Irvine provides quality education, along with research and teaching opportunities for students interested in the science of the Earth as a system. ESS faculty, researchers, and students conduct research in the areas of atmospheric chemistry, biogeochemical cycles, and climate change. Home to members of the National Academies of Sciences, the department provides opportunities for students to learn from and work with recognized experts in the field. Over the last decade, ESS has earned a reputation as one of the most influential academic departments in the nation devoted to studying the Earth as a system." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

http://ess.uci.edu

\n

Phone: (949) 824-8794
Fax: (949) 824-3874

\n

Department Address:
University of California, Irvine
Department of Earth System Science
Croul Hall
Irvine, CA 92697-3100

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Earth System Science only publishes materials about work conducted under the auspices of Earth System Science. The editors reserve the right to determine the suitability of submissions. For additional information, please contact essinfo@ess.uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: essinfo@ess.uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator essinfo@ess.uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "uciess_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ebe222566d067042f1bc595f49ab062fcc9cb6a4814ae21c9cf32567b690aed6" - }, - "properties": { - "about": "

The Department of Earth System Science (ESS) focuses on how the atmosphere, land, and oceans interact as a system, and how the Earth will change over a human lifetime.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Founded in 1991, the Department of Earth System Science at the University of California, Irvine provides quality education, along with research and teaching opportunities for students interested in the science of the Earth as a system. ESS faculty, researchers, and students conduct research in the areas of atmospheric chemistry, biogeochemical cycles, and climate change. Home to members of the National Academies of Sciences, the department provides opportunities for students to learn from and work with recognized experts in the field. Over the last decade, ESS has earned a reputation as one of the most influential academic departments in the nation devoted to studying the Earth as a system." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

http://ess.uci.edu

\n

Phone: (949) 824-8794
Fax: (949) 824-3874

\n

Department Address:
University of California, Irvine
Department of Earth System Science
Croul Hall
Irvine, CA 92697-3100

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Earth System Science only publishes materials about work conducted under the auspices of Earth System Science. The editors reserve the right to determine the suitability of submissions. For additional information, please contact essinfo@ess.uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: essinfo@ess.uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator essinfo@ess.uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Department of Mathematics, UCI", - "identifier": "ucimath", - "schema": "nglp:unit", - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Department of Mathematics at University of California, Irvine only publishes materials about work conducted under the auspices of the department." - } - ], - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "ucimath_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Department of Mathematics researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - } - ] - }, - { - "title": "Paul Merage School of Business", - "identifier": "ucimerage", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/f7c3a6ff162aa4f1e9c1d96cb7a8352d59600d06f636ae32aa1afaa537c14547" - }, - "properties": { - "about": "

The Paul Merage School of Business combines the academic strengths and best traditions of the University of California with the cutting-edge, entrepreneurial spirit of Orange County. The School's thematic approach to business education is: sustainable growth through strategic innovation.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Paul Merage School of Business offers four dynamic MBA programs, two interdisciplinary MS programs in Engineering & Biotechnology management, plus Accounting, PhD, and undergraduate business degrees \u2014 that all deliver its thematic approach to business education: sustained growth through strategic innovation. Business leadership, collaboration and communication are taught through in-class and on-site experiences with real-world business problems.

\n

Seven Centers of Excellence and an Executive Education program provide numerous and varied opportunities for students and the business community at large to enhance their education experience and update their professional expertise.

\n

While The School is relatively young (the first class began in 1967), it has quickly grown to consistently rank among the top 10% of all AACSB-accredited programs.

\n

The School also enjoys an exceptional caliber of teaching and research from its world-class faculty. The School is #1 in the U.S. in terms of percentage of female faculty members (40%), according to the Financial Times 2013 MBA Ranking. In addition, BusinessWeek ranked the Merage School at #14 in the nation for faculty intellectual capital in 2013.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Phone: (949)824-9717

\n

The Paul Merage School of Business
University of California, Irvine
Irvine, CA 92697-3125

\n

For more specific department contacts:
http://merage.uci.edu/Tools/ContactUs/index.aspx

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Paul Merage School of Business only publishes materials about work conducted under the auspices of The Paul Merage School of Business. The editors reserve the right to determine the suitability of submissions. For additional information, please contact escholarship@merage.uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: escholarship@merage.uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: escholarship@merage.uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Personal Computing Industry Center", - "identifier": "pcic", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4537bece8d83ebda58f51cbe0b73fe1c7f56e9a1e6fa68b59c9b6df7cb2ff253" - }, - "properties": { - "about": "

The Personal Computing Industry Center (PCIC) is a key source of knowledge, objective data, independent thought and networking about the rapidly changing PC industry. It brings together industry executives and researchers to discuss industry issues and new research findings. The center conducts basic and applied research and is an ongoing industry resource for understanding industry trends, analyzing emerging markets and technologies, and providing insights about new developments. Participants include industry executives and university faculty and graduate students from UC Irvine, as well as other universities for specific projects (Fudan University, Manchester Business School, MIT, Stanford, UC Berkeley, UC Davis, UC San Diego, University of Illinois, Chicago, and University of Washington). The Paul Merage School of Business at the University of California, Irvine has established the PCIC with a grant from the Alfred P. Sloan Foundation of New York, with matching funds from industry, the university and the U.S. National Science Foundation.The PCIC is one of 22 Industry Centers currently supported by the prestigious Sloan Foundation. It is engaged in collaborative research with other Sloan Centers and affiliates in semiconductors, data storage, flat panels, product-level electronics, software, and venture capital,creating a network of researchers whose expertise spans the PC and broader computer industry. Access to this research network is an additional advantage of the Center.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Personal Computing Industry Center (PCIC) only publishes materials about work conducted under the auspices of PCIC. For additional information, please contact davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the PCIC website at pcic.merage.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

Personal Computing Industry Center (PCIC) only publishes materials about work conducted under the auspices of PCIC. For additional information, please contact davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions or need assistance converting files, please contact davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact davidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "pcic_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/4537bece8d83ebda58f51cbe0b73fe1c7f56e9a1e6fa68b59c9b6df7cb2ff253" - }, - "properties": { - "about": "

The Personal Computing Industry Center (PCIC) is a key source of knowledge, objective data, independent thought and networking about the rapidly changing PC industry. It brings together industry executives and researchers to discuss industry issues and new research findings. The center conducts basic and applied research and is an ongoing industry resource for understanding industry trends, analyzing emerging markets and technologies, and providing insights about new developments. Participants include industry executives and university faculty and graduate students from UC Irvine, as well as other universities for specific projects (Fudan University, Manchester Business School, MIT, Stanford, UC Berkeley, UC Davis, UC San Diego, University of Illinois, Chicago, and University of Washington). The Paul Merage School of Business at the University of California, Irvine has established the PCIC with a grant from the Alfred P. Sloan Foundation of New York, with matching funds from industry, the university and the U.S. National Science Foundation.The PCIC is one of 22 Industry Centers currently supported by the prestigious Sloan Foundation. It is engaged in collaborative research with other Sloan Centers and affiliates in semiconductors, data storage, flat panels, product-level electronics, software, and venture capital,creating a network of researchers whose expertise spans the PC and broader computer industry. Access to this research network is an additional advantage of the Center.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Personal Computing Industry Center (PCIC) only publishes materials about work conducted under the auspices of PCIC. For additional information, please contact davidson@uci.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at davidson@uci.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement. A copy of the agreement can be found on the PCIC website at pcic.merage.uci.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

Personal Computing Industry Center (PCIC) only publishes materials about work conducted under the auspices of PCIC. For additional information, please contact davidson@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). If you use a word-processing program other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save it as an RTF file. If you have questions or need assistance converting files, please contact davidson@uci.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to davidson@uci.edu. Include in an email message the following things: abstract; keywords; and name, affiliation (department and university), and email address for each author.
  6. \n
  7. If you have any questions, contact davidson@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please send the citation of the new version to davidson@uci.edu. We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow the instructions in \"How to Submit\"; however, please specify when you submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Books", - "identifier": "ucimerage_books", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/f7c3a6ff162aa4f1e9c1d96cb7a8352d59600d06f636ae32aa1afaa537c14547" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Books only publishes materials about work conducted under the auspices of Books. The editors reserve the right to determine the suitability of submissions. For additional information, please contact .

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: .

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator .

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Papers", - "identifier": "ucimerage_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/f7c3a6ff162aa4f1e9c1d96cb7a8352d59600d06f636ae32aa1afaa537c14547" - }, - "properties": { - "about": "

The Paul Merage School of Business combines the academic strengths and best traditions of the University of California with the cutting-edge, entrepreneurial spirit of Orange County. The School's thematic approach to business education is: sustainable growth through strategic innovation.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Paul Merage School of Business offers four dynamic MBA programs, two interdisciplinary MS programs in Engineering & Biotechnology management, plus Accounting, PhD, and undergraduate business degrees \u2014 that all deliver its thematic approach to business education: sustained growth through strategic innovation. Business leadership, collaboration and communication are taught through in-class and on-site experiences with real-world business problems.

\n

Seven Centers of Excellence and an Executive Education program provide numerous and varied opportunities for students and the business community at large to enhance their education experience and update their professional expertise.

\n

While The School is relatively young (the first class began in 1967), it has quickly grown to consistently rank among the top 10% of all AACSB-accredited programs.

\n

The School also enjoys an exceptional caliber of teaching and research from its world-class faculty. The School is #1 in the U.S. in terms of percentage of female faculty members (40%), according to the Financial Times 2013 MBA Ranking. In addition, BusinessWeek ranked the Merage School at #14 in the nation for faculty intellectual capital in 2013.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Phone: (949)824-9717

\n

The Paul Merage School of Business
University of California, Irvine
Irvine, CA 92697-3125

\n

For more specific department contacts:
http://merage.uci.edu/Tools/ContactUs/index.aspx

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Paul Merage School of Business only publishes materials about work conducted under the auspices of The Paul Merage School of Business. The editors reserve the right to determine the suitability of submissions. For additional information, please contact escholarship@merage.uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: escholarship@merage.uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: escholarship@merage.uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Integrated Composition, Improvisation and Technology (ICIT)", - "identifier": "ucimusic_icit", - "schema": "nglp:unit", - "properties": { - "about": "

About Integrated Composition, Improvisation and Technology (ICIT): The ICIT Collection is an evolving archive of scores, written research, audio video documentation, software and other materials reflecting new integrations of composition, improvisation and technology, including theses and dissertations from MFA and PhD graduates of UCI\u2019s ICIT program as well as works by ICIT faculty.

" - }, - "pages": [ - { - "slug": "about", - "title": "About Integrated Composition, Improvisation and Technology (ICIT)", - "body": "

What is the purpose of the collection?

The ICIT Collection is an evolving archive of scores, written research, audio video documentation, software and other materials reflecting new integrations of composition, improvisation and technology, including theses and dissertations from MFA and PhD graduates of UCI\u2019s ICIT program as well as works by ICIT faculty.


What is collected?

This collection is focused in two areas: 1.) published writing (e.g., peer reviewed journal articles and other published writings) and 2.) creative works, such as major scores/media that came out of a dissertation or other large-scale, original project that was either not commercially released online or, if it was, is included here for open access archival purposes. This collection is not attempting to compete with all of the amazing creative work being released in the commercial sphere, but to serve as a core, open access corpus of scholarly and creative materials related to the creative music.


Who can deposit?

Current and former faculty and students in UCI's graduate program in Integrated Composition, Improvisation and Technology (ICIT).


What is accepted?

Completed ICIT theses and dissertations as well as works by current ICIT faculty are automatically accepted. Other submissions from ICIT students and alumni are added to the collection upon approval by current ICIT faculty.


Are there technical file limitations?

Primarily this will focus on PDF, MP3, MP4, and MOV files. Theoretically any file type and size can be included in this collection, but the eScholarship platform sometimes has issues with non-standard file types and files that are over 500MB in size.


How do I submit a work for deposit?

ICIT dissertations created at UCI that are submitted to Proquest as part of the filing process will automatically be harvested into eScholarship. Please send Scott Stone, the collection administrator, an email to inform him that the deposit has occurred, and he will associate it with the ICIT collection once it\u2019s available in eScholarship.


For non-dissertations, send an email directly to Scott Stone with the complete information of the item you\u2019d like to deposit, including the title, author(s), instrumentation/technical information, year of composition, and any other relevant information you think will help people discover this work, along with the file or a link to the file. Faculty items will be deposited into the collection, and student/alumni items will be submitted for approval by ICIT faculty. Authors will receive an email confirming the item\u2019s deposit status once it has been finalized.

See the Policies page for additional eScholarship-wide rules about removing items, revising items, and author rights.

Other questions?

Scott Stone, Research Librarian for Performing Arts and site administrator: stonesm@uci.edu

Michael Dessen, Professor in ICIT and faculty administrator: mdessen@uci.edu


" - }, - { - "slug": "contact-us", - "title": "Site administrator", - "body": "

Scott Stone, Research Librarian for Performing Arts, stonesm@uci.edu

" - }, - { - "slug": "etd", - "title": "ICIT Theses & Dissertations", - "body": "

Open access Theses and Dissertations from ICIT alums:


Anthony, Kevin Patrick: Sinew & Ecosystem One : two works driven by a self-regulating performance system (2020)

Caulkins, Anthony DJ: 'Musical Gesture' in Analysis: Gesture-Class as a formal structure (2016)

Hamido, Omar Costa: Adventures in Quantumland (2021)

Jones, Molly Elisabeth: Your Own Monster: Sampling in the Work of Nick Zammuto, Tom Waits, and Paul D. Miller (2016)

Liu, Yihui: Advanced Dynamic Music: Composing Algorithmic Music in Video Games as an Improvisatory Device for Players (2021)

Lough, Alex Joseph: Performed Electronics: Compositional Paradigms for Reinforcing Human Agency in Electroacoustic Music (2020)

Rubio Restrepo, Juan David: Ritualized Performance in the Networked Era (2014)

Savery, Anna: Intermedia Storytelling (2016)

Savery, Richard James: Algorithmic Improvisers (2015)

Shin, Borey: Melodies of a Sub-Subculture: Explorations of Asian American Creative Identity on the Fringe (2019)

Simmons, Josh: Towards a Postmodal Movement for Computer Musicians (2019)

Watson, Jordan: Approaches to the Use of Social Choice and Voting Systems in Interactive Music and Live Performance (2016)

Wheeler, George Stockton: Composing with Sound-Objects: A Methodology (2019)

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

ICIT only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

ICIT does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Dissertations / Theses", - "identifier": "ucimusic_icit_etd", - "schema": "nglp:series" - }, - { - "title": "Scores / Media", - "identifier": "ucimusic_icit_media", - "schema": "nglp:series" - }, - { - "title": "Recent Work", - "identifier": "ucimusic_icit_rw", - "schema": "nglp:series" - }, - { - "title": "Writings / Presentations", - "identifier": "ucimusic_icit_writ", - "schema": "nglp:series" - } - ] - }, - { - "title": "Department of Pharmaceutical Sciences, UCI", - "identifier": "ucipharmsci", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0433293a58e6428d49f9c1c1a378df40c7558ab11e1a539bf403c00b2b78d341" - }, - "properties": { - "about": "

Pharmaceutical Sciences at UCI is an interdisciplinary science department focused on issues critical for the discovery and development of new drugs and therapies. Our faculty includes world-renowned scientists encompassing a variety of backgrounds with wide-ranging research programs that cover every facet of pharmaceutical research, while our undergraduate and graduate programs offer rigorous grounding in a broad range of disciplines critical to success as a pharmaceutical scientist in academia or industry.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Our undergraduate and graduate programs offer rigorous grounding in a broad range of disciplines critical to success as a pharmaceutical scientist in academia or in industry. The field of pharmaceutical sciences has traditionally encompassed all elements of drug discovery and development, offering exciting and meaningful professional opportunities to work towards the improvement of society's health and well-being.

\n

UC Irvine's Department of Pharmaceutical Sciences offers interdisciplinary educational programs integrating concepts from fields as diverse as biology, chemistry, cell and molecular biology, chemical engineering, materials science, pharmaceutics, pharmacolopy and physiology. As a student in our department you will be an integral part of such explorations and the resulting discoveries.

\n

Our faculty includes world-renowned scientists encompassing a variety of backgrounds with wide-ranging research programs that cover every facet of pharmaceutical research.

\n

Undergraduate Program

\n

The PharmSci undergraduate program is intended for those students interested in one of the following pathways:

\n
    \n
  1. Professional positions in the pharmaceutical production, control, and development sectors of the pharmaceutical and biotechnology industry, or
  2. \n
  3. Graduate degree programs in medicinal chemistry, chemical biology, structural biology, pharmacology, pharamceutics, and many other disciplines at the interface of chemistry and biology.
  4. \n
  5. Professional degree programs such as pharmacy, medical, or dental school.
  6. \n
\n

Graduate Program

\n

The Medicinal Chemistry and Pharamcology graduate program is an interdepartmental gateway program leading to a PhD degree in Chemistry, Molecular Biology & Biochemistry, or Pharmacology, and transition into that department to complete the remaining degree requirements.

\n

Students receive their PhD from the department of their chosen advisor. The program offers a unique curriculum providing students with state-of-the-art practical and theoretical training in their specific field of interest while at the same time emphasizing an integrated, interdisciplinary approach.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

If you have questions or concerns concerning the Pharmaceutical Sciences eScholarship site, please contact dmobley@uci.edu. Or for more general information on Pharmaceutical Sciences, please refer to:

\n" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Pharmaceutical Sciences only publishes materials about work conducted under the auspices of, or connected with, Pharmaceutical Sciences. The editors reserve the right to determine the suitability of submissions. For additional information, please contact David Mobley, dmobley@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: dmobley@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator, dmobley@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Mobley Lab Datasets", - "identifier": "ucipharmsci_mobley", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/0433293a58e6428d49f9c1c1a378df40c7558ab11e1a539bf403c00b2b78d341" - }, - "properties": { - "about": "

Pharmaceutical Sciences at UCI is an interdisciplinary science department focused on issues critical for the discovery and development of new drugs and therapies. Our faculty includes world-renowned scientists encompassing a variety of backgrounds with wide-ranging research programs that cover every facet of pharmaceutical research, while our undergraduate and graduate programs offer rigorous grounding in a broad range of disciplines critical to success as a pharmaceutical scientist in academia or industry.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Our undergraduate and graduate programs offer rigorous grounding in a broad range of disciplines critical to success as a pharmaceutical scientist in academia or in industry. The field of pharmaceutical sciences has traditionally encompassed all elements of drug discovery and development, offering exciting and meaningful professional opportunities to work towards the improvement of society's health and well-being.

\n

UC Irvine's Department of Pharmaceutical Sciences offers interdisciplinary educational programs integrating concepts from fields as diverse as biology, chemistry, cell and molecular biology, chemical engineering, materials science, pharmaceutics, pharmacolopy and physiology. As a student in our department you will be an integral part of such explorations and the resulting discoveries.

\n

Our faculty includes world-renowned scientists encompassing a variety of backgrounds with wide-ranging research programs that cover every facet of pharmaceutical research.

\n

Undergraduate Program

\n

The PharmSci undergraduate program is intended for those students interested in one of the following pathways:

\n
    \n
  1. Professional positions in the pharmaceutical production, control, and development sectors of the pharmaceutical and biotechnology industry, or
  2. \n
  3. Graduate degree programs in medicinal chemistry, chemical biology, structural biology, pharmacology, pharamceutics, and many other disciplines at the interface of chemistry and biology.
  4. \n
  5. Professional degree programs such as pharmacy, medical, or dental school.
  6. \n
\n

Graduate Program

\n

The Medicinal Chemistry and Pharamcology graduate program is an interdepartmental gateway program leading to a PhD degree in Chemistry, Molecular Biology & Biochemistry, or Pharmacology, and transition into that department to complete the remaining degree requirements.

\n

Students receive their PhD from the department of their chosen advisor. The program offers a unique curriculum providing students with state-of-the-art practical and theoretical training in their specific field of interest while at the same time emphasizing an integrated, interdisciplinary approach.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

If you have questions or concerns concerning the Pharmaceutical Sciences eScholarship site, please contact dmobley@uci.edu. Or for more general information on Pharmaceutical Sciences, please refer to:

\n" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Pharmaceutical Sciences only publishes materials about work conducted under the auspices of, or connected with, Pharmaceutical Sciences. The editors reserve the right to determine the suitability of submissions. For additional information, please contact David Mobley, dmobley@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: dmobley@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator, dmobley@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Open Access Policy Deposits", - "identifier": "ucipharmsci_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Department of Pharmaceutical Sciences researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - } - ] - }, - { - "title": "School of Social Ecology", - "identifier": "ucisose", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/16e60ddb2fd84d5ec370e9f28467b8d5fbc8c78b0fe51e2cbb16d7bd86469197" - }, - "properties": { - "about": "

The 21st century presents us with a wide array of opportunities for creating a better world. Such opportunities range from local communities creating innovative solutions to their problems, to communities around the world meeting the challenges of a globalized economy. Making the most of these opportunities calls for scholarship that is rigorous and innovative, thoughtful and engaged\u2014scholarship that is steeped in the best traditions of social science, and able to break new ground.

Faculty in the three highly-ranked departments within the School of Social Ecology share a commitment to scholarship that views human behavior in a larger social and institutional context, that moves beyond traditional disciplinary boundaries, and that seeks to disseminate knowledge beyond the confines of the university to a broader public. The faculty pursue knowledge production and dissemination in the service of fostering informed social action as they address issues ranging from global poverty to prison overcrowding, from gang violence to healthy child development, from health risks to community empowerment. The School is an internationally recognized pioneer in developing interdisciplinary approaches to social problems that encourage flexibility and independent thinking among faculty and students and nourish collaboration across different fields and with people of many different experiences.

We strive in our teaching, at both graduate and undergraduate levels, to develop future leaders in education, research, public policy, and community action who can contribute those skills to the critical issues that confront local communities, the state of California, the nation and the world.

" - }, - "pages": [ - { - "slug": "about", - "title": "About School of Social Ecology", - "body": "

The 21st century presents us with a wide array of opportunities for creating a better world. Such opportunities range from local communities creating innovative solutions to their problems, to communities around the world meeting the challenges of a globalized economy. Making the most of these opportunities calls for scholarship that is rigorous and innovative, thoughtful and engaged\u2014scholarship that is steeped in the best traditions of social science, and able to break new ground.

Faculty in the three highly-ranked departments within the School of Social Ecology share a commitment to scholarship that views human behavior in a larger social and institutional context, that moves beyond traditional disciplinary boundaries, and that seeks to disseminate knowledge beyond the confines of the university to a broader public. The faculty pursue knowledge production and dissemination in the service of fostering informed social action as they address issues ranging from global poverty to prison overcrowding, from gang violence to healthy child development, from health risks to community empowerment. The School is an internationally recognized pioneer in developing interdisciplinary approaches to social problems that encourage flexibility and independent thinking among faculty and students and nourish collaboration across different fields and with people of many different experiences.

We strive in our teaching, at both graduate and undergraduate levels, to develop future leaders in education, research, public policy, and community action who can contribute those skills to the critical issues that confront local communities, the state of California, the nation and the world.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The School of Social Ecology only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The School of Social Ecology does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Center for Evidence-Based Corrections (CEBC)", - "identifier": "cebc", - "schema": "nglp:unit", - "properties": { - "about": "About Center for Evidence-Based Corrections (CEBC): TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About Center for Evidence-Based Corrections (CEBC)", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Center for Evidence-Based Corrections (CEBC) only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Center for Evidence-Based Corrections (CEBC) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "cebc_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "Center in Law, Society and Culture", - "identifier": "clsc", - "schema": "nglp:unit", - "properties": { - "about": "About Center in Law, Society and Culture: TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About Center in Law, Society and Culture", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Center in Law, Society and Culture (CLSC) only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Center in Law, Society and Culture (CLSC) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "clsc_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "Institute for Interdisciplinary Salivary Bioscience Research (IISBR)", - "identifier": "iisbr", - "schema": "nglp:unit", - "pages": [ - { - "slug": "about", - "title": "About Institute for Interdisciplinary Salivary Bioscience Research (IISBR)", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Institute for Interdisciplinary Salivary Bioscience Research (IISBR) only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Institute for Interdisciplinary Salivary Bioscience Research (IISBR) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "iisbr_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "Metropolitan Futures Initiative (MFI)", - "identifier": "mfi", - "schema": "nglp:unit", - "pages": [ - { - "slug": "about", - "title": "About Metropolitan Futures Initiative (MFI)", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Metropolitan Futures Initiative (MFI) only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Metropolitan Futures Initiative (MFI) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "mfi_rw", - "schema": "nglp:series" - } - ] - }, - { - "title": "Blum Center for Poverty Alleviation", - "identifier": "uciblum", - "schema": "nglp:unit", - "properties": { - "about": "About Blum Center for Poverty Alleviation: TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About Blum Center for Poverty Alleviation", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Blum Center for Poverty Alleviation only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Blum Center for Poverty Alleviation does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "uciblum_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "Center for Psychology and Law", - "identifier": "ucicpl", - "schema": "nglp:unit", - "pages": [ - { - "slug": "about", - "title": "About Center for Psychology and Law", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Center for Psychology and Law (CPL) only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Center for Psychology and Law (CPL) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "ucicpl_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "Livable Cities Lab", - "identifier": "ucilivablecities", - "schema": "nglp:unit", - "properties": { - "about": "About Livable Cities Lab: TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About Livable Cities Lab", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Livable Cities Lab only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Livable Cities Lab does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "ucilivablecities_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "The Newkirk Center for Science and Society", - "identifier": "ucinewkirk", - "schema": "nglp:unit", - "properties": { - "about": "About The Newkirk Center for Science and Society: TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About The Newkirk Center for Science and Society", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Newkirk Center for Science and Society only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Newkirk Center for Science and Society does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "ucinewkirk_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - }, - { - "title": "Criminology, Law & Society", - "identifier": "ucisose_cls", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/d0fb83c5abff92d59ac597380515bf26e778218fb12f48b0f75cddd570cf8b1f" - }, - "properties": { - "about": "

UC Irvine\u2019s distinctive, interdisciplinary Department of Criminology, Law and Society (CLS) integrates two complementary areas of scholarship \u2014 criminology and law & society (sometimes called socio-legal studies). It is the only criminology department, and one of only two law & society units, in the University of California system. CLS conducts research and teaching activities that focus on the causes, manifestations, and consequences of criminal behavior, methods of social control, and the relationships and interactions between law, social structure and cultural practices.

" - }, - "pages": [ - { - "slug": "about", - "title": "About Criminology, Law & Society", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The department of Criminology, Law and Society (CLS) only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The department of Criminology, Law and Society (CLS) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "ucisose_cls_fp", - "schema": "nglp:series" - } - ] - }, - { - "title": "Psychological Sciences", - "identifier": "ucisose_ps", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b606bbb3713075e076197710150454aa4819fedc96a2e889efa235b268697e14" - }, - "properties": { - "about": "

The Department of Psychological Science emphasizes the investigation of human behavior as it develops across the life span in diverse contexts. The faculty share a strong commitment to interdisciplinary research aimed at advancing our understanding of the determinants of human health, well-being, and functioning in a broad range of developmental, social, cultural, and environmental contexts. The faculty are also dedicated to research that has the potential to address important societal problems.

" - }, - "pages": [ - { - "slug": "about", - "title": "About Psychological Sciences", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu


" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The department of Psychological Science only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The department of Psychological Science does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "ucisose_ps_fp", - "schema": "nglp:series" - } - ] - }, - { - "title": "Urban Planning & Public Policy", - "identifier": "ucisose_uppp", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/53975979c811623bf54af35e689e0916eabb099d7d6c7c3d4ad19aa5e712252f" - }, - "properties": { - "about": "

The Department of Urban Planning and Public Policy (UPPP) focuses on research and education anchored in a commitment to developing equitable, sustainable, and empowered communities. We specialize in an array of urban-related problems from land use and transportation, to housing, resource management, and decision-making - that enable faculty and students to contribute to basic science and develop applications that better lives.

" - }, - "pages": [ - { - "slug": "about", - "title": "About Urban Planning & Public Policy", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Department of Urban Planning and Public Policy (UPPP) only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Department of Urban Planning and Public Policy (UPPP) does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "ucisose_uppp_fp", - "schema": "nglp:series" - } - ] - }, - { - "title": "Water UCI", - "identifier": "wateruci", - "schema": "nglp:unit", - "properties": { - "about": "

Water UCI is an interdisciplinary center in the School of Social Ecology that facilitates seamless collaboration across schools, departments, and existing research centers around questions of fundamental and applied water science, technology, management, and policy.

Watch this videoto find out how UCI is making a difference.

" - }, - "pages": [ - { - "slug": "about", - "title": "About Water UCI", - "body": "

Our Mission Statement

Water UCI mobilizes seamless collaboration across the university to conduct research, provide educational and outreach programs, foster workforce development, and advance policy solutions to critical water problems facing the state, nation, and world.

Water UCI, located in the School of Social Ecology, serves to connect the water industry, government agencies, non-governmental organizations and K-12 schools with the vast resources of UCI and the UC system to implement solutions and keep the public informed.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Mimi Cruz
Director of Communications, School of Social Ecology
mkcruz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

Water UCI only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

Water UCI does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Recent Works", - "identifier": "wateruci_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Works: TODO" - } - } - ] - } - ] - }, - { - "title": "Anthropology", - "identifier": "uci_anthropology", - "schema": "nglp:unit", - "pages": [ - { - "slug": "about", - "title": "About", - "body": "

The Department of Anthropology at the University of California, Irvine is at the forefront of innovation in anthropological research. The Department focuses on social and cultural anthropology, with a strong emphasis on understanding emergent processes and systems at a number of scales, including the local, national and transnational level. The Department fosters a critical empiricism that employs a range of ethnographic, historical, and quantitative methods to address questions of subjectivity, political economy, and social inequality. The department has become recognized as one of the top anthropology programs for graduate work in the United States. It is the second largest sociocultural program in the University of California system and among the twelve largest nationally. Between 2000 and 2006, the department ranked first in placing research articles in the top three academic journals in anthropology. In 2006, the Center for a Public Anthropology ranked the department eighth nationally in disseminating its research to a broader audience. Since 1998, the department has received continuous graduate student and faculty research funding from the National Science Foundation and other extramural agencies.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator: Olga Dunaevsky, Department Manager, odunaevs@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Department of Anthropology only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Department of Anthropologydoes not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Open Access Policy Deposits", - "identifier": "uci_anthropology_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Irvine Department of Anthropology researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Recent Work", - "identifier": "uci_anthropology_rw", - "schema": "nglp:series", - "properties": { - "about": "About Recent Work: TODO" - } - } - ] - }, - { - "title": "Beckman Laser Institute & Medical Clinic", - "identifier": "uci_blimc", - "schema": "nglp:unit", - "pages": [ - { - "slug": "about", - "title": "About Beckman Laser Institute & Medical Clinic", - "body": "

UCI Beckman Laser Institute & Medical Clinic is a unique translational center, moving technologies rapidly from the researcher\u2019s blackboard to the laboratory benchtop to the patient bedside. The Institute houses 24 faculty and approximately 200 individuals from more than nine departments. Experts from the UCI Schools of Medicine, Engineering, Physical Sciences and Biological Sciences convene in this interdisciplinary environment, crossing departmental barriers, to develop breakthrough technologies to transform human health.

Institute researchers are developing optics and photonics technologies with the potential to radically change the way health care; diagnosing disease in its earliest stages, non-invasively monitoring patient health and discovering new therapies for conditions that were previously considered untreatable.

Institute research teams unite with their diverse backgrounds and experience to create new concepts, ideas and computational models at the blackboard; cutting-edge optics and photonics technologies at the benchtop and life-changing diagnostic and therapeutic devices for patients at the bedside. The research cores at UCI Beckman Laser Institute & Medical Clinic work hand-in-hand and complement one another to advance health care.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrators:

Hanna Kim, Research Adminstrator, hhkim3@uci.edu
Richard Diaz, IT Manager, rsdiaz@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

UCI Beckman Laser Institute & Medical Clinic only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

UCI Beckman Laser Institute & Medical Clinic does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to the standard author agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Conference Proceedings/Abstracts", - "identifier": "uci_blimc_conferences", - "schema": "nglp:series" - }, - { - "title": "BLI Publications", - "identifier": "uci_blimc_fp", - "schema": "nglp:series" - } - ] - }, - { - "title": "Campuswide Honors Collegium (CHC)", - "identifier": "uci_chc", - "schema": "nglp:unit", - "properties": { - "about": "About Campuswide Honors Collegium (CHC): TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About Campuswide Honors Collegium (CHC)", - "body": "

The Campuswide Honors Collegium is a community of motivated learners dedicated to scholastic excellence and personal growth. The unique opportunities provided by the Campuswide Honors Collegium for students to learn and engage with other talented and motivated students and with faculty in a supportive, learning community help students get the most out of their education and achieve ambitious goals.


" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:
Charles E. Wright, Associate Dean, cewright@uci.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The Campuswide Honors Collegium only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The Campuswide Honors Collegium does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Honors Theses", - "identifier": "uci_chc_theses", - "schema": "nglp:series", - "properties": { - "about": "About Honors Theses: TODO" - } - } - ] - }, - { - "title": "UC Irvine Electronic Theses and Dissertations", - "identifier": "uci_etd", - "schema": "nglp:series", - "pages": [ - { - "slug": "submit-paper", - "title": "How to Submit Content to eScholarship", - "body": "

Faculty, staff and researchers at UCI can deposit their content with eScholarship in 3 ways:

\n

Archive your previously published academic papers

\n

UCI accepts the deposit of previously published academic papers from all current UCI faculty and researchers for display in our open access campus collection. To\n learn more about open access and which of your publications may be eligible for deposit, visit our Previously Published Works\n information page. Once you're ready to deposit your publication, click here\n to start your submission.

\n

Add content to your department or research unit's collection

\n

Many UCI departments and research units showcase the scholarly output of their faculty and researchers on eScholarship. These pages are a great place to display your previously\n published papers, working papers, monographs & books, conference procedings, media files and datasets. Each department or unit has its own guidelines for acceptable materials, so the first\n step is to find a space for your content in our listing of UCI departments and research\n units. Can't find your department or research unit? Learn how to start a new collection on eScholarship here.

\n

Submit an original manuscript for consideration in an Open Access journal published by eScholarship

\n\"Example

Scholars from any institution are welcome to submit manuscripts for consideration in our journals -- many of which accept manuscript submissions online.

\n

To submit your manuscript for consideration:

    \n
  1. \nBrowse our list of journals and click on the title of the journal to which you'd like to submit your\n paper.
  2. \n
  3. Review the journal's submission guidelinespolicies
  4. \n
  5. Click the Submit Article link in the journal's sidebar (pictured at right) to begin the submission process.
  6. \n

\n

Need assistance?

\n

Your campus contact's information is listed in the sidebar at left. You're also welcome to contact eScholarship support.

" - } - ] - }, - { - "title": "UC Irvine Libraries", - "identifier": "uci_libs", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/5c1b447444edc73e91bdead13af5612353c65b3e9bf77b9cfc28a82cb087b04a" - }, - "properties": { - "about": "

The UCI Libraries provide vital leadership in UCI's distinction as a premier research university. The Libraries are committed to supporting and inspiring members of UCI's diverse community to create and contribute new models of research, scholarship, and innovations in all academic subject areas.

\n

To that end, the UCI Libraries have created two spaces for the depositing and sharing of publications by UCI affiliates. The first is dedicated to research produced by members of the Library Association of the University of California, Irvine (LAUC-I) and library staff (see below).

\n

The second is more general in scope and is open to faculty partnering with the UCI Libraries and whose contributions do not fall in the purview of any of the campus' established research centers, departments, and programs. This research is linked in the left sidebar under \u201cAffiliated Units\u201d.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ], - "collections": [ - { - "title": "Center for Innovative Diplomacy Archive", - "identifier": "uci_cid", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/88c355a9799f114141e40f05e9990f10cf299056268f568c336c08765e11ae6e" - }, - "properties": { - "about": "

Center for Innovative Diplomacy was founded in 1982 to promote direct citizen and city engagement in foreign policy in furtherance of global peace, justice, prosperity, and sustainability. Among its principal accomplishments over the ten years of its work were the first global computer network for peace activists, the first book on U.S.-Soviet \"citizen diplomacy,\" the mobilization of thousands of local elected officials on behalf of \"municipal foreign policy,\" and the launch of the International Council for Local Environmental Initiatives. Special thanks to former Irvine Mayor Larry Agran and UC Irvine Sociology Ph.D. student Ben Leffel for having this archive created.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Center for Innovative Diplomacy was founded in 1982 to promote direct citizen and city engagement in foreign policy in furtherance of global peace, justice, prosperity, and sustainability. Among its principal accomplishments over the ten years of its work were the first global computer network for peace activists, the first book on U.S.-Soviet \"citizen diplomacy,\" the mobilization of thousands of local elected officials on behalf of \"municipal foreign policy,\" and the launch of the International Council for Local Environmental Initiatives. Special thanks to former Irvine Mayor Larry Agran and UC Irvine Sociology Ph.D. student Ben Leffel for having this archive created." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown
Scholarly Communication Coordinator
UC Irvine Libraries
P.O. Box 19557
UC Irvine
Irvine, CA 92623
(949) 824-9732
mcbrown@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Innovative Diplomacy Archive only publishes materials about work conducted under the auspices of Center for Innovative Diplomacy. The editors reserve the right to determine the suitability of submissions. For additional information, please contact .

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: .

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator .

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "Bulletin of Municipal Foreign Policy", - "identifier": "uci_cid_bmfp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/159cb2be8b234a13c0c2952c8acf2ec6f75d4839ed112db2f1e73f88c799649a" - }, - "properties": { - "about": "

The Bulletin was a quarterly (sometimes more frequent) compilation of stories and commentary of the involvement of cities and local elected officials in foreign policy. Among the topics frequently covered were nuclear freeze votes, nuclear free zones, anti-apartheid divestment campaigns, sister cities, and local ordinances to control and eliminate CFCs (chlorofluorocarbons) and other ozone-depleting compounds.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Bulletin was a quarterly (sometimes more frequent) compilation of stories and commentary of the involvement of cities and local elected officials in foreign policy. Among the topics frequently covered were nuclear freeze votes, nuclear free zones, anti-apartheid divestment campaigns, sister cities, and local ordinances to control and eliminate CFCs (chlorofluorocarbons) and other ozone-depleting compounds." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Matthew McKinley
Digital Project Specialist
UC Irvine Libraries
ASL 340 -- (949) 824-0193

\n

Mitchell Brown
Scholarly Communication Coordinator
UC Irvine Libraries
P.O. Box 19557
UC Irvine
Irvine, CA 92623
(949) 824-9732
mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Innovative Diplomacy Archive only publishes materials about work conducted under the auspices of Center for Innovative Diplomacy. The editors reserve the right to determine the suitability of submissions. For additional information, please contact .

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: .

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator .

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "U.S. Center For Citizen Diplomacy Summit Reports", - "identifier": "uci_cid_ccdsr", - "schema": "nglp:series", - "properties": { - "about": "About U.S. Center For Citizen Diplomacy Summit Reports: TODO" - } - }, - { - "title": "ICLEI \u2013 International Council for Local Environmental Initiatives", - "identifier": "uci_cid_iclei", - "schema": "nglp:series" - }, - { - "title": "CID Report", - "identifier": "uci_cid_report", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/95531e5121157b986e18e3b54a771d0569db5fe458ec933d62f0d6b01bba4bad" - }, - "properties": { - "about": "

The CID report was a periodical summary of news and commentary published by the Center for Innovative Diplomacy.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The CID report was a periodical summary of news and commentary published by the Center for Innovative Diplomacy." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Matthew McKinley
Digital Project Specialist
UC Irvine Libraries
ASL 340 -- (949) 824-0193

\n

Mitchell Brown
Scholarly Communication Coordinator
UC Irvine Libraries
P.O. Box 19557
UC Irvine
Irvine, CA 92623
(949) 824-9732
mcbrown@uci.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Innovative Diplomacy Archive only publishes materials about work conducted under the auspices of Center for Innovative Diplomacy. The editors reserve the right to determine the suitability of submissions. For additional information, please contact .

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: .

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator .

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "UCI Libraries' Chatbot Files (ANTswers)", - "identifier": "uci_libs_antswers", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

ANTswers is an experimental chatbot that can answer questions about the UC Irvine Libraries. ANTswers is a web-based application, run on a remote library server and is accessed through a web interface page. ANTswers\u2019 personality and persona is based on the UCI mascot, Peter the Anteater. ANTswers responds to simple and short questions. The first link in a response opens in a preview window, all other links open in a new window.

\n

This collection includes approximately 130 .aiml files that are available for download and for the use in creating other library chatbots. To implement your own library chatbot you will need a server, chatbot software (we used Program-O), editing software (we used Notepad++) and at least minimal experience with HRML, CSS, Javascript and AIML. ANTswers is built for an academic library with 2 main libraries, a study center, special collections and archives, and a law and medical library. You will need to review and edit each of the files for your particular institution.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ], - "collections": [ - { - "title": "Chatbot Files", - "identifier": "uci_libs_antswers_chatbot", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

The Chatbot files manage questions about the chatbot and help discover and remember information about the client. They give the chatbot personality and provide the code for some of the interactions between the bot and client.

\n

There are 2 chatbot files, they are designated as b_\"keyword\" and are 35 KB each. They can be downloaded individually or as a collection in a zip file. \n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Conversation Files", - "identifier": "uci_libs_antswers_conversation", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

The Conversation files were created from open-source .aiml files from Git Hub. The files have been organized, reviewed, and updated. We edited categories to be more neutral in their responses for items dealing with religion, politics, sex, drugs, etc. This is the largest concentration of open-source files. We may have missed a few so we recommend reviewing the files prior to uploading them to your chatbot. Also some of the responses reflect the character of our chatbot, so you might want to do a search all files in Notepad++ for anything to do with ants and anteaters.

\n

There are 26 Conversation files, they are designated as c_\u201dletter/keyword\u201d and range from 5 KB to over 1,595 KB. They can be downloaded individually or as a collection in a zip file. \n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Library Files", - "identifier": "uci_libs_antswers_library", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

The Library files cover library services, locations, typical directions, etc. We have used to organize the long files. This should help you orient yourself as you decided which content needs to be cut and what you need to edit to fit your own institution. A lot of the phrasing in the area of the categories was pulled directly from our library website; you may consider doing the same. We felt that by doing this there would be continuity between ANTswers and our library website.\n

There are 16 Library files, they are designated as lib_\u201dservice, location, etc.\u201d and range from 11 KB to 433 KB. They can be downloaded individually or as a collection in a zip file.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Publications", - "identifier": "uci_libs_antswers_pubs", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

As we publish and share ANTswers we will collect citations here. If you use the UC Irvine Libraries chatbot files in creating a chatbot for your institution, consider submitting your scholarly output to our collection.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Ready Reference Files", - "identifier": "uci_libs_antswers_reference", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

The Ready Reference files were created from open-source .aiml files from Git Hub. The files have been organized, reviewed, and updated. We pulled categories that provided a factual response into the Ready Reference files, but we may have missed a few in the conversation files so if you want to do further organizing, feel free. We also attempted to even up the treatment of men and women in science and politics. We found that women who have made contributions to society were either referred to as wives of their husbands or their contributions were ignored, for example, while there was an entry on Marie Curie, they did not mention that she was a Nobel Prize winner for her work with radioactivity.

\n

There are 6 Ready Reference files, they are designated as rr_\u201dbroad subject area\u201d and range from 10 KB to 160 KB. They can be downloaded individually or as a collection in a zip file. \n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Subject Files", - "identifier": "uci_libs_antswers_subject", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/1b7cecb75cce8c1a4a54e305e2668fc148762de6bb679150f2a8cb27e1bdf025" - }, - "properties": { - "about": "

The Subject files were created so that ANTswers could suggest databases or online resources (eBooks, eJournals) based on a list of subject terms. Using the Library of Congress major subject headings a list of narrow subject headings was developed for each subject, organized by excel, and then assigned to the appropriate subject bibliographer. The subject bibliographer then assigned 2-3 resources to each narrower term (keyword or phrase). They could also delete or add (?) terms if they felt it was necessary. While our files are for an academic library, this same process could be followed for creating subject files for a public library.

\n

There are 67 Subject files, they are designated as s_\u201dname of subject\u201d and range from 1 KB to 57 KB in size. They can be downloaded individually or as a collection in a zip file. \n

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Each file is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. ANTswers was built using general open-source AIML files and new files created by the ANTswers team. The ANTswers team created all of the library and subject files, while the conversation, bot, and ready reference files are heavily edited and organized open-source files. ANTswers was developed using AIML (Artificial Intelligence Mark-up Language). You can find more information about AIML at http://www.alicebot.org/aiml.html.

\n

ANTswers was developed by Danielle Kane and Chloe Lerit of the UC Irvine Libraries. Programming for ANTswers started in August of 2013 and went live in March of 2014.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "For questions on the creation of ANTswers or about using .AIML files, please contact:
Danielle Kane
Research Librarian for Emerging Technologies
949-824-2024
kaned@uci.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n

    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n

\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - } - ] - }, - { - "title": "Archival Research Fellowship Papers", - "identifier": "uci_libs_arf", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

The UCI Libraries provide vital leadership in UCI's distinction as a premier research university. The Libraries are committed to supporting and inspiring members of UCI's diverse community to create and contribute new models of research, scholarship, and innovations in all academic subject areas.

\n

To that end, the UCI Libraries have created two spaces for the depositing and sharing of publications by UCI affiliates. The first is dedicated to research produced by members of the Library Association of the University of California, Irvine (LAUC-I) and library staff (see below).

\n

The second is more general in scope and is open to faculty partnering with the UCI Libraries and whose contributions do not fall in the purview of any of the campus' established research centers, departments, and programs. This research is linked in the left sidebar under \u201cAffiliated Units\u201d.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "LAUC-I and Library Staff Research", - "identifier": "uci_libs_lauci", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

The UCI Libraries provide vital leadership in UCI's distinction as a premier research university. The Libraries are committed to supporting and inspiring members of UCI's diverse community to create and contribute new models of research, scholarship, and innovations in all academic subject areas.

\n

To that end, the UCI Libraries have created two spaces for the depositing and sharing of publications by UCI affiliates. The first is dedicated to research produced by members of the Library Association of the University of California, Irvine (LAUC-I) and library staff (see below).

\n

The second is more general in scope and is open to faculty partnering with the UCI Libraries and whose contributions do not fall in the purview of any of the campus' established research centers, departments, and programs. This research is linked in the left sidebar under \u201cAffiliated Units\u201d.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "UCI Open Access Publishing Fund", - "identifier": "uci_libs_oafund_pubs", - "schema": "nglp:series", - "properties": { - "about": "
About the UCI Open Access Publishing Fund
" - } - }, - { - "title": "\"Time Will Tell, But Epistemology Won't: In Memory of Richard Rorty\" A Symposium to Celebrate Richard Rorty's Archive", - "identifier": "uci_libs_rorty", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/fbd14a7c5341363db68598c76b7c43d70ec49a2819ac12da1814497e41870a63" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ], - "collections": [ - { - "title": "Cultural Politics and the Born Digital", - "identifier": "uci_libs_rorty_culturalpolitics", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Designing the Digital-Born Archive", - "identifier": "uci_libs_rorty_designing", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "The Digital Archive: The Data Deluge Arrives in the Humanities", - "identifier": "uci_libs_rorty_digitalarchive", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Rorty and Human Rights", - "identifier": "uci_libs_rorty_humanrights", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Rorty as a Public Intellectual", - "identifier": "uci_libs_rorty_intellectual", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Rorty's Legacy", - "identifier": "uci_libs_rorty_legacy", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Reading Rorty Rhetorically", - "identifier": "uci_libs_rorty_rhetorically", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "Rorty, Philosophy, and The Question Concerning Technology", - "identifier": "uci_libs_rorty_technology", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

On May 14, 2010, UC Irvine hosted a symposium to celebrate the opening of the Richard Rorty Papers in the UC Irvine Libraries Critical Theory Archive for research. Rorty was a pragmatist philosopher, critical theorist, and public intellectual who is commonly described as one of the most important thinkers of his era. In addition to almost 25 linear feet of papers, the Richard Rorty Archive also include over 1,000 born-digital word processing files that were preserved from Rorty's floppy disks in UCIspace @ the Libraries.

\n

Participants in the Time Will Tell, But Epistemology Won't symposium addressed a number of key questions for criticism in the era of computational media. What is an archive if it includes \u201cborn digital\u201d materials? How do new forms of digital production and reception change the character of scholarly discourse? What is the relationship between public memory and computer memory? How should teaching materials be handled in the age of open courseware? How can Rorty\u2019s ideas about philosophy as cultural politics be read in both the liberal and the academic blogospheres? How can more dialogue between critical theory and the digital humanities be fostered?

\n

The symposium was sponsored by the UC Irvine Libraries, the UC Irvine Humanities Center, the UC Irvine Critical Theory Emphasis, the UC Irvine Department of Philosophy, the UC Irvine Department of Comparative Literature, the Office of the Campus Writing Coordinator, and the systemwide University of California Humanities Research Institute.

\n

Speakers included Elizabeth Losh (UC Irvine), David Theo Goldberg (UC Irvine), Mary Rorty, (Stanford), Michelle Light (UC Irvine), Dawn Schmitz (UC Irvine), Erin Obodiac (UC Irvine), Tom Hyry (UCLA), Christine Borgman (UCLA), Iain Thomson (University of New Mexico), Mark Wrathall (UC Riverside), Margaret Gilbert (UC Irvine), Ian Bogost (Georgia Tech), Steven Mailloux (Loyola Marymount), Ali M. Meghdadi (UC Irvine), Brian Garcia (UC Irvine), Tae-Kyung Timothy Elijah Sung (UC Irvine), and Michael B\u00e9rub\u00e9 (Pennsylvania State).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu .
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "uci_libs_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/61c5ef32e14061e897454f38f7b66714f45a494a31619990e36684b0461406e5" - }, - "properties": { - "about": "

The UCI Libraries provide vital leadership in UCI's distinction as a premier research university. The Libraries are committed to supporting and inspiring members of UCI's diverse community to create and contribute new models of research, scholarship, and innovations in all academic subject areas.

\n

To that end, the UCI Libraries have created two spaces for the depositing and sharing of publications by UCI affiliates. The first is dedicated to research produced by members of the Library Association of the University of California, Irvine (LAUC-I) and library staff (see below).

\n

The second is more general in scope and is open to faculty partnering with the UCI Libraries and whose contributions do not fall in the purview of any of the campus' established research centers, departments, and programs. This research is linked in the left sidebar under \u201cAffiliated Units\u201d.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Author Agreement

\n

I, hereby grant The Regents of the University of California on behalf of the\n University of California, Irvine campus (\"University\") a nonexclusive, worldwide,\n royalty-free, irrevocable, perpetual license, with right to sublicense, to reproduce,\n distribute, publicly display and publicly perform the work entitled (the \"Work\") for\n inclusion in the eScholarship Repository in any format and unrestricted access and use\n in connection with the educational mission of the eScholarship Repository.

\n

I represent and warrant for the benefit of University:

\n

(a) I have the full power and authority to enter into this agreement and grant the\n license granted hereunder;
(b) the Work does not infringe the rights of any third\n party, including copyright, privacy rights, or other proprietary rights; and
(c) I\n have not made, and will not hereafter make, any contract or commitment contrary to the\n terms of this Agreement or in derogation of the license granted University hereunder.

\n

I understand that once the Work is deposited in the Repository, a full bibliographic\n citation to the Work will remain visible in perpetuity, even if the Work is updated or\n removed.

\n

For authors who are not employees of the University of California:
I agree\n to hold The Regents of the University of California, the UC Irvine Libraries, and its\n agents harmless for any losses, claims, damages, awards, penalties, or injuries\n incurred, including any reasonable attorney's fees that arise from any breach of\n warranty or for any claim by any third party of an alleged infringement of copyright or\n any other intellectual property rights arising from the Depositor's submission of\n materials with CDL or of the use by the University of California or other users of such\n materials.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UCI Libraries' eScholarship repository publishes materials about work conducted under the auspices of the UCI Libraries, as well as work produced by UCI faculty that does not more easily fit in the repository of another of the campus' research centers, departments, or programs. For additional information, please contact Hans Protzel at hprotzel@uci.edu.

\n

How to Submit a Paper

\n
    \n
  1. Complete the Submission Form and Author Agreement. Print it out and mail it to Hans Protzel per the instructions on the form.
  2. \n
  3. Make sure your paper is in an acceptable format. We can accept papers in Adobe Acrobat (PDF) only. If you do not have the ability to save documents as PDF files, please contact Hans Protzel at hprotzel@uci.edu.
  4. \n
  5. Submit the paper by emailing it to Hans Protzel at hprotzel@uci.edu with the subject \"Submission for UCI eScholarship Repository\" and the name of the Work.
  6. \n
  7. If you have any questions, contact Hans Protzel at hprotzel@uci.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, it will be reviewed by the appropriate submission review committee for the UCI eScholarship repository. You will be notified by e-mail if the submission is accepted and again when it is posted.

" - } - ] - }, - { - "title": "UC Libraries Forum 2021: Leading with Innovation, Stronger through Collaboration", - "identifier": "uclf2021", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/145df31f3e21f9d063b4fced163260bd696e7fae2a0fe4c488803bdadf82164e" - }, - "properties": { - "about": "

UC Libraries Forum 2021 was held virtually on 26-29 October 2021, and served as an opportunity for University of California library colleagues to meet virtually, share, learn and find opportunities for new collaborations and projects across the UC system. Presentations and conversation noted existing collaborations and sparked ideas for new ones. This forum extended the scope of UC DLFx 2018 and 2019 beyond digital initiatives to all library employees to include themes such as research data, scholarly communications, the current-COVID academic library and others. The conference explored the intersection of technology and service, the lessons learned through the past extraordinary year, and the value of change management. In light of the challenging times, we came together virtually to share our work under the theme 'Leading with Innovation, Stronger through Collaboration'.

" - }, - "pages": [ - { - "slug": "about", - "title": "About - UC Libraries Forum 2021: Leading with Innovation, Stronger through Collaboration", - "body": "

UC Libraries Forum 2021 was held virtually on 26-29 October 2021, and served as an opportunity for University of California library colleagues to meet virtually, share, learn and find opportunities for new collaborations and projects across the UC system. Presentations and conversation noted existing collaborations and sparked ideas for new ones. This forum extended the scope of UC DLFx 2018 and 2019 beyond digital initiatives to all library employees to include themes such as research data, scholarly communications, the current-COVID academic library and others. The conference explored the intersection of technology and service, the lessons learned through the past extraordinary year, and the value of change management. In light of the challenging times, we came together virtually to share our work under the theme 'Leading with Innovation, Stronger through Collaboration'.

" - }, - { - "slug": "campuses", - "title": "Campus Libraries", - "body": "

\"University

\"blank\"

\"University

\"blank\"

\"University

\"blank\"

\"University

\"website\"\"blank\"\"website\"\"blank\"\"website\"\"blank\"\"website\"

\"University

\"blank\"

\"University

\"blank\"

\"University

\"blank\"

\"University

\"website\"\"blank\"\"website\"\"blank\"\"website\"\"blank\"\"website\"

\"University

\"blank\"

\"University

\"blank\"

\"California

\"blank\"
\"website\"\"blank\"\"website\"\"blank\"\"website\"\"blank\"

" - }, - { - "slug": "code-of-conduct", - "title": "Code of Conduct", - "body": "

\"UC


Code of Conduct


The UC Libraries Forum is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, age, sexual

orientation, veteran status, disability, physical appearance, body size, race, ethnicity, religion, or technology choices. This extends to all conference and

conference-adjacent spaces, including social media channels. Examples of expected behavior that contributes to a positive environment includes:


Unacceptable behavior includes, but is not limited to:


If you encounter any unacceptable behavior, whether as a bystander or the target of the behavior, please reach out to the conference coordinator.

The UC Libraries Forum Steering Committee reserves the right to take necessary and appropriate actions, including removal from the event without warning.

All communication should be appropriate for a workplace audience including people of many different backgrounds. Each participant is entirely responsible for

their own behavior. 


Thank you for helping to make this a welcoming space for all to participate, learn, and share.


This Code of Conduct is based on Codes of Conduct from CALM, NASPA, The Workplace Racial Equity Summit, and GitHub.

" - }, - { - "slug": "contact", - "title": "Contact us", - "body": "

For conference content:

Wasila Dahdul, Data Curation Librarian
Science Library 229
University of California, Irvine
Irvine, CA 92623-9556
949-824-2185


For website details:

Mitchell Brown, Scholarly Communications Coordinator
Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732

" - }, - { - "slug": "land-acknowledgement", - "title": "Land Acknowledgement", - "body": "\"Land


The University of California recognizes that our campuses and other UC locations sit on the territory of Native peoples of California, and that these lands were and continue to be of great importance to Indigenous peoples. Every member of the UC community has and continues to benefit from the use and stewardship of these lands. Consistent with our values of community and diversity, we acknowledge with gratitude and make visible the University\u2019s relationship to Native peoples.


For more information:https://nativegov.org/a-guide-to-indigenous-land-acknowledgment/

" - } - ], - "collections": [ - { - "title": "Council of Librarians", - "identifier": "uclf2021_col", - "schema": "nglp:series" - }, - { - "title": "Keynote", - "identifier": "uclf2021_keynote", - "schema": "nglp:series" - }, - { - "title": "Lightning Talks", - "identifier": "uclf2021_lightning", - "schema": "nglp:series" - }, - { - "title": "Presentations", - "identifier": "uclf2021_presentations", - "schema": "nglp:series" - } - ] - } - ] - }, - { - "title": "Sue & Bill Gross School of Nursing", - "identifier": "uci_nursing", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b43a6dcb77f4936f2744ac0ac38a16a0918fba68f19e5fa3beb37686eab6f62a" - }, - "properties": { - "about": "

The Sue & Bill Gross School of Nursing

\n

The UC Irvine Program in Nursing Science was established in 2007.\u00a0 In 2016, the William and Sue Gross Family Foundation committed $40 million to UC Irvine to establish a nursing school and assist in the construction of a new building. The School of Nursing provides academic and professional education in the discipline of nursing.

\n

The School of Nursing prepares graduates for basic clinical and advanced practice roles. It also prepares them for educational, administrative and research positions across the healthcare delivery system, as well as faculty positions in academic institutions. Degrees offered include B.S., M.S., and PhD in Nursing Science.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Mission

\n

Our mission is to advance the science of health and healthcare through innovative research, teaching and clinical practice, as well as to educate nursing professionals who inspire optimal health and well-being in individuals, families and communities.\u00a0\u00a0

\n

Vision

\n

Our vision is to transform the nursing profession by preparing pioneers in research, education and practice to build innovative, interprofessional models of compassionate community-based healthcare.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "http://nursing.uci.edu/contact-us.asp" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

School of Nursing only publishes materials about work conducted under the auspices of The Sue & Bill Gross School of Nursing. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Priscilla Kehoe: pkehoe@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: pkehoe@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: pkehoe@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Theses must be submitted in PDF form, following either the Chicago or MLA Style." - } - ], - "collections": [ - { - "title": "Faculty Publications", - "identifier": "uci_nursing_fp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b43a6dcb77f4936f2744ac0ac38a16a0918fba68f19e5fa3beb37686eab6f62a" - }, - "properties": { - "about": "

The Sue & Bill Gross School of Nursing

\n

The UC Irvine Program in Nursing Science was established in 2007.\u00a0 In 2016, the William and Sue Gross Family Foundation committed $40 million to UC Irvine to establish a nursing school and assist in the construction of a new building. The School of Nursing provides academic and professional education in the discipline of nursing.

\n

The School of Nursing prepares graduates for basic clinical and advanced practice roles. It also prepares them for educational, administrative and research positions across the healthcare delivery system, as well as faculty positions in academic institutions. Degrees offered include B.S., M.S., and PhD in Nursing Science.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Mission

\n

Our mission is to advance the science of health and healthcare through innovative research, teaching and clinical practice, as well as to educate nursing professionals who inspire optimal health and well-being in individuals, families and communities.

\n

Vision

\n

Our vision is to transform the nursing profession by preparing pioneers in research, education and practice to build innovative, interprofessional models of compassionate community-based healthcare.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "http://nursing.uci.edu/contact-us.asp" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

School of Nursing only publishes materials about work conducted under the auspices of The Sue & Bill Gross School of Nursing. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Priscilla Kehoe: pkehoe@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: pkehoe@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: pkehoe@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Theses must be submitted in PDF form, following either the Chicago or MLA Style." - } - ] - }, - { - "title": "Seminar Papers and Posters", - "identifier": "uci_nursing_spp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b43a6dcb77f4936f2744ac0ac38a16a0918fba68f19e5fa3beb37686eab6f62a" - }, - "properties": { - "about": "

The Sue & Bill Gross School of Nursing

\n

The UC Irvine Program in Nursing Science was established in 2007.\u00a0 In 2016, the William and Sue Gross Family Foundation committed $40 million to UC Irvine to establish a nursing school and assist in the construction of a new building. The School of Nursing provides academic and professional education in the discipline of nursing.

\n

The School of Nursing prepares graduates for basic clinical and advanced practice roles. It also prepares them for educational, administrative and research positions across the healthcare delivery system, as well as faculty positions in academic institutions. Degrees offered include B.S., M.S., and PhD in Nursing Science.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Mission

\n

Our mission is to advance the science of health and healthcare through innovative research, teaching and clinical practice, as well as to educate nursing professionals who inspire optimal health and well-being in individuals, families and communities.

\n

Vision

\n

Our vision is to transform the nursing profession by preparing pioneers in research, education and practice to build innovative, interprofessional models of compassionate community-based healthcare.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "http://nursing.uci.edu/contact-us.asp" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

School of Nursing only publishes materials about work conducted under the auspices of The Sue & Bill Gross School of Nursing. The editors reserve the right to determine the suitability of submissions. For additional information, please contact Priscilla Kehoe: pkehoe@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: pkehoe@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator: pkehoe@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Theses must be submitted in PDF form, following either the Chicago or MLA Style." - } - ] - } - ] - }, - { - "title": "UC Irvine Previously Published Works", - "identifier": "uci_postprints", - "schema": "nglp:series", - "pages": [ - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

You can increase the visibility and impact of your scholarly research using eScholarship's open access repository and publishing tools. This page will help you find the best place to deposit and manage your content within eScholarship.

\n\nUC Open Access Policy Deposit
\n
\n\n\n

Scholarly Articles

\n

The UC Open Access Policy covers articles that have recently been published or accepted for publication.

\nDeposit Scholarly Articles\n | | \n

UC Open Access Policy Help

\n

Learn more about UC's Open Access Policy

\n

Generate a waiver or embargo confirmation
(if your publisher has requested one)

\n\n
\n
\n\n\nAdditional Deposit Options
\n
\n\n\n

Other Scholarly Publications

\n

Books, chapters and other publications are not covered by the UC Open Access Policy, but can be deposited if you have retained the right to do so.

\nDeposit Other Scholarly Publications\n | | \n

New Works

\n

Many UC Irvine academic & research units showcase authors' unpublished works, such as working papers, data sets, multimedia and more.

\nLocate your academic unit\n | | \n

eScholarship Journals

\n

Most eScholarship journals accept original manuscripts for consideration from scholars at any institution.

\n


Browse Journals

\n\n
\n
\n\n

Manage Existing eScholarship Content

\n

You can access your previous submissions and access administrator tools by clicking on the My Account link, located in the top right corner of every eScholarship page.

" - } - ] - }, - { - "title": "Program in Public Health", - "identifier": "uci_publichealth", - "schema": "nglp:unit", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": " Annual Lecture Series", - "identifier": "uci_publichealth_als", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Department of Population Health & Disease Prevention", - "identifier": "uci_publichealth_dphdp", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Faculty Publications", - "identifier": "uci_publichealth_fp", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "MPH Culmination Poster", - "identifier": "uci_publichealth_mphposters", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "PubHlth 195H", - "identifier": "uci_publichealth_ph195h", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - }, - { - "title": "Public Health 195 Practicum Posters (PubHlth195W)", - "identifier": "uci_publichealth_ph195wposters", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the public health program at the University of California, Irvine is to create, integrate, and translate population-based knowledge into preventive strategies for reducing the societal burden of human disease and disability through excellence in research, education, and public service.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "The Program in Public Health (PPH) was established in 2003 to provide institutional focus for existing academic strengths in various sub-disciplines of public health, and to facilitate well-grounded education and innovative research in emerging aspects of the field. Under the Program in Public Health, undergraduate degree programs began enrolling students in 2006, and the Department of Population Health & Disease Prevention was established in 2007 to advance the collaborative interdisciplinary mission of public health research and education. The Program in Public Health is fully accredited by the Council on Education for Public Health (CEPH) and is a member of the Association of Schools and Programs of Public Health (ASPPH). In coming years, the Program will expand to become a School of Public Health. Offering 2 undergraduate degrees in Public Health Science & Policy, the MPH and the PhD, more about the instructional programs & research opportunities are noted at the Program's website at http://publichealth.uci.edu/ph/_home" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Mitchell Brown , Scholarly Communications Coordinator
Ayala Science Library 230
University of California, Irvine
Irvine, CA 92623-9556
949-824-9732" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Program in Public Health only publishes materials about work conducted under the auspices of Public Health and the Department of Population Health & Disease Prevention. The editors reserve the right to determine the suitability of submissions. For additional information, please contact mcartnal@uci.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: mcartnal@uci.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator mcartnal@uci.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "University of California Transportation Center", - "identifier": "uctc", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18468f8ee4518ac37c688f09e27a4c47254ef44739f83ef726914baabe1a7a15" - }, - "properties": { - "about": "

The University of California Transportation Center recognizes that transportation is\n one component of a societal system that is affected by and has effects on the movement\n of goods, people, and information. The Center draws on the knowledge of many\n disciplines, including but not limited to engineering, economics, urban planning, and\n management in its efforts to support studies that analyze transportation systems and the\n public policies that are integral to them.

\n

The Center is sponsored by both the United States Department of Transportation (DOT)\n and the California Department of Transportation (Caltrans). All transportation-related\n programs within the University of California campuses are eligible for research and\n educational funding from the Center. The primary campuses involved in UCTC activities\n are those at Los Angeles, Davis, Irvine, and Berkeley.

\n

UCTC maintains an active program of basic and applied research conducted by University\n of California faculty and graduate student assistants. The Center supports the\n University's educational programs in transportation with awards of scholarships and\n fellowships to students planning careers in transportation. As part of its\n technology-transfer activities, UCTC sponsors seminars and conferences where scholars\n and public officials meet to exchange information and research findings. The Center also\n publishes the results of research it has funded in the form of working papers, reprints\n of journal articles, and in its official magazine, ACCESS. These publications are\n distributed widely within the academic, professional, and governmental communities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under the auspices of UCTC. For additional information, please contact kfrick@berkeley.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at kfrick@berkeley.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under UCTC auspices. This includes faculty research grants, dissertations grants, and policy briefs.

\n

How to Submit a Paper

\n

Please email your publication in PDF format to kfrick@berkeley.edu.

\n

If you have any questions, contact kfrick@berkeley.edu.

" - } - ], - "collections": [ - { - "title": "ACCESS Magazine", - "identifier": "uctc_access", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18468f8ee4518ac37c688f09e27a4c47254ef44739f83ef726914baabe1a7a15" - }, - "properties": { - "about": "

The University of California Transportation Center recognizes that transportation is\n one component of a societal system that is affected by and has effects on the movement\n of goods, people, and information. The Center draws on the knowledge of many\n disciplines, including but not limited to engineering, economics, urban planning, and\n management in its efforts to support studies that analyze transportation systems and the\n public policies that are integral to them.

\n

The Center is sponsored by both the United States Department of Transportation (DOT)\n and the California Department of Transportation (Caltrans). All transportation-related\n programs within the University of California campuses are eligible for research and\n educational funding from the Center. The primary campuses involved in UCTC activities\n are those at Los Angeles, Davis, Irvine, and Berkeley.

\n

UCTC maintains an active program of basic and applied research conducted by University\n of California faculty and graduate student assistants. The Center supports the\n University's educational programs in transportation with awards of scholarships and\n fellowships to students planning careers in transportation. As part of its\n technology-transfer activities, UCTC sponsors seminars and conferences where scholars\n and public officials meet to exchange information and research findings. The Center also\n publishes the results of research it has funded in the form of working papers, reprints\n of journal articles, and in its official magazine, ACCESS. These publications are\n distributed widely within the academic, professional, and governmental communities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under the auspices of UCTC. For additional information, please contact kfrick@berkeley.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at kfrick@berkeley.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under UCTC auspices. This includes faculty research grants, dissertations grants, and policy briefs.

\n

How to Submit a Paper

\n

Please email your publication in PDF format to kfrick@berkeley.edu.

\n

If you have any questions, contact kfrick@berkeley.edu.

" - } - ] - }, - { - "title": "Dissertations", - "identifier": "uctc_dissertations", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18468f8ee4518ac37c688f09e27a4c47254ef44739f83ef726914baabe1a7a15" - }, - "properties": { - "about": "

The University of California Transportation Center recognizes that transportation is\n one component of a societal system that is affected by and has effects on the movement\n of goods, people, and information. The Center draws on the knowledge of many\n disciplines, including but not limited to engineering, economics, urban planning, and\n management in its efforts to support studies that analyze transportation systems and the\n public policies that are integral to them.

\n

The Center is sponsored by both the United States Department of Transportation (DOT)\n and the California Department of Transportation (Caltrans). All transportation-related\n programs within the University of California campuses are eligible for research and\n educational funding from the Center. The primary campuses involved in UCTC activities\n are those at Los Angeles, Davis, Irvine, and Berkeley.

\n

UCTC maintains an active program of basic and applied research conducted by University\n of California faculty and graduate student assistants. The Center supports the\n University's educational programs in transportation with awards of scholarships and\n fellowships to students planning careers in transportation. As part of its\n technology-transfer activities, UCTC sponsors seminars and conferences where scholars\n and public officials meet to exchange information and research findings. The Center also\n publishes the results of research it has funded in the form of working papers, reprints\n of journal articles, and in its official magazine, ACCESS. These publications are\n distributed widely within the academic, professional, and governmental communities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under the auspices of UCTC. For additional information, please contact kfrick@berkeley.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at kfrick@berkeley.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under UCTC auspices. This includes faculty research grants, dissertations grants, and policy briefs.

\n

How to Submit a Paper

\n

Please email your publication in PDF format to kfrick@berkeley.edu.

\n

If you have any questions, contact kfrick@berkeley.edu.

" - } - ] - }, - { - "title": "Faculty Research", - "identifier": "uctc_fr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18468f8ee4518ac37c688f09e27a4c47254ef44739f83ef726914baabe1a7a15" - }, - "properties": { - "about": "

The University of California Transportation Center recognizes that transportation is\n one component of a societal system that is affected by and has effects on the movement\n of goods, people, and information. The Center draws on the knowledge of many\n disciplines, including but not limited to engineering, economics, urban planning, and\n management in its efforts to support studies that analyze transportation systems and the\n public policies that are integral to them.

\n

The Center is sponsored by both the United States Department of Transportation (DOT)\n and the California Department of Transportation (Caltrans). All transportation-related\n programs within the University of California campuses are eligible for research and\n educational funding from the Center. The primary campuses involved in UCTC activities\n are those at Los Angeles, Davis, Irvine, and Berkeley.

\n

UCTC maintains an active program of basic and applied research conducted by University\n of California faculty and graduate student assistants. The Center supports the\n University's educational programs in transportation with awards of scholarships and\n fellowships to students planning careers in transportation. As part of its\n technology-transfer activities, UCTC sponsors seminars and conferences where scholars\n and public officials meet to exchange information and research findings. The Center also\n publishes the results of research it has funded in the form of working papers, reprints\n of journal articles, and in its official magazine, ACCESS. These publications are\n distributed widely within the academic, professional, and governmental communities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under the auspices of UCTC. For additional information, please contact kfrick@berkeley.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at kfrick@berkeley.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under UCTC auspices. This includes faculty research grants, dissertations grants, and policy briefs.

\n

How to Submit a Paper

\n

Please email your publication in PDF format to kfrick@berkeley.edu.

\n

If you have any questions, contact kfrick@berkeley.edu.

" - } - ] - }, - { - "title": "Policy Briefs", - "identifier": "uctc_policybriefs", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18468f8ee4518ac37c688f09e27a4c47254ef44739f83ef726914baabe1a7a15" - }, - "properties": { - "about": "

The University of California Transportation Center recognizes that transportation is\n one component of a societal system that is affected by and has effects on the movement\n of goods, people, and information. The Center draws on the knowledge of many\n disciplines, including but not limited to engineering, economics, urban planning, and\n management in its efforts to support studies that analyze transportation systems and the\n public policies that are integral to them.

\n

The Center is sponsored by both the United States Department of Transportation (DOT)\n and the California Department of Transportation (Caltrans). All transportation-related\n programs within the University of California campuses are eligible for research and\n educational funding from the Center. The primary campuses involved in UCTC activities\n are those at Los Angeles, Davis, Irvine, and Berkeley.

\n

UCTC maintains an active program of basic and applied research conducted by University\n of California faculty and graduate student assistants. The Center supports the\n University's educational programs in transportation with awards of scholarships and\n fellowships to students planning careers in transportation. As part of its\n technology-transfer activities, UCTC sponsors seminars and conferences where scholars\n and public officials meet to exchange information and research findings. The Center also\n publishes the results of research it has funded in the form of working papers, reprints\n of journal articles, and in its official magazine, ACCESS. These publications are\n distributed widely within the academic, professional, and governmental communities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under the auspices of UCTC. For additional information, please contact kfrick@berkeley.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at kfrick@berkeley.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under UCTC auspices. This includes faculty research grants, dissertations grants, and policy briefs.

\n

How to Submit a Paper

\n

Please email your publication in PDF format to kfrick@berkeley.edu.

\n

If you have any questions, contact kfrick@berkeley.edu.

" - } - ] - }, - { - "title": "Earlier Faculty Research", - "identifier": "uctc_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/18468f8ee4518ac37c688f09e27a4c47254ef44739f83ef726914baabe1a7a15" - }, - "properties": { - "about": "

The University of California Transportation Center recognizes that transportation is\n one component of a societal system that is affected by and has effects on the movement\n of goods, people, and information. The Center draws on the knowledge of many\n disciplines, including but not limited to engineering, economics, urban planning, and\n management in its efforts to support studies that analyze transportation systems and the\n public policies that are integral to them.

\n

The Center is sponsored by both the United States Department of Transportation (DOT)\n and the California Department of Transportation (Caltrans). All transportation-related\n programs within the University of California campuses are eligible for research and\n educational funding from the Center. The primary campuses involved in UCTC activities\n are those at Los Angeles, Davis, Irvine, and Berkeley.

\n

UCTC maintains an active program of basic and applied research conducted by University\n of California faculty and graduate student assistants. The Center supports the\n University's educational programs in transportation with awards of scholarships and\n fellowships to students planning careers in transportation. As part of its\n technology-transfer activities, UCTC sponsors seminars and conferences where scholars\n and public officials meet to exchange information and research findings. The Center also\n publishes the results of research it has funded in the form of working papers, reprints\n of journal articles, and in its official magazine, ACCESS. These publications are\n distributed widely within the academic, professional, and governmental communities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under the auspices of UCTC. For additional information, please contact kfrick@berkeley.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system administrator at kfrick@berkeley.edu. However, a citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them becoming publicly available on the site; therefore, please be sure that the paper is ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

UCTC only publishes materials about work conducted under UCTC auspices. This includes faculty research grants, dissertations grants, and policy briefs.

\n

How to Submit a Paper

\n

Please email your publication in PDF format to kfrick@berkeley.edu.

\n

If you have any questions, contact kfrick@berkeley.edu.

" - } - ] - } - ] - }, - { - "title": "UC World History Workshop", - "identifier": "ucwhw", - "schema": "nglp:unit", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation.

" - } - ], - "collections": [ - { - "title": "Essays and Positions", - "identifier": "ucwhw_ep", - "schema": "nglp:series", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation. For further information, please contact the Principal Investgator, Prof. Kenneth Pomeranz (klpo...@uci.edu).

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the former Principal Investigator at klpo...@uci.edu. However, a citation to the original version of the paper will always remain on the site.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "ucwhw_rw", - "schema": "nglp:series", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation. For further information, please contact the Principal Investgator, Prof. Kenneth Pomeranz (klpo...@uci.edu).

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the former Principal Investigator at klpo...@uci.edu. However, a citation to the original version of the paper will always remain on the site.

" - } - ] - }, - { - "title": "Working Papers", - "identifier": "ucwhw_wp", - "schema": "nglp:series", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation. For further information, please contact the Principal Investgator, Prof. Kenneth Pomeranz (klpo...@uci.edu).

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the former Principal Investigator at klpo...@uci.edu. However, a citation to the original version of the paper will always remain on the site.

" - } - ] - } - ] - }, - { - "title": "University of California Water Resources Center", - "identifier": "wrc", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Water Resources Collections and Archives", - "identifier": "wrca", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Hydraulic Engineering Laboratory Reports", - "identifier": "wrca_hel", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Hydrology", - "identifier": "wrca_hydrology", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Restoration of Rivers and Streams (LA 227)", - "identifier": "wrca_restoration", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

Taught since 1992 (the longest-running course devoted to river restoration at a major research university), this course emphasizes understanding of underlying goals and assumptions of restoration and integration of science into restoration planning and design. Students review restoration plans and evaluate completed projects. In addition to lectures and discussions by the instructor, students, and an extraordinary set of guest lecturers drawn from the active restoration community, the principal course requirement is an independent term project involving original research. The term projects are peer-reviewed, revised, and ultimately added to the permanent collection of the UC Water Resources Collections and Archives, where they can be searched in the Scotty and Melvyl catalogs. Independent term projects are presented each year in a public symposium.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "wrca_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Working Papers", - "identifier": "wrca_wp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Contributions", - "identifier": "wrc_contributions", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "wrc_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Technical Completion Reports", - "identifier": "wrc_tcr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - } - ] - } - ] - } - ] -} diff --git a/vendor/seeds/ucm_units.json b/vendor/seeds/ucm_units.json deleted file mode 100644 index 0f4d230a..00000000 --- a/vendor/seeds/ucm_units.json +++ /dev/null @@ -1,2113 +0,0 @@ -{ - "version": "1.0.0", - "communities": [ - { - "title": "UC Merced", - "identifier": "ucm", - "schema": "default:community", - "hero_image": { - "format": "url", - "url": "https://escholarship.org/cms-assets/f161bab2268780cb48e9e816d5434fa107f3d4b204f555f2d1b62f18a5b265ac" - }, - "logo": { - "format": "url", - "url": "https://escholarship.org/cms-assets/043b3854bc2a766119149fbaa97bad5126c423cc825b7d73d6ed8901736ef844" - }, - "pages": [ - { - "slug": "about", - "title": "About eScholarship", - "body": "

eScholarship\u00ae\u00a0provides scholarly publishing and repository services that enable departments, research units, publishing programs, and individual scholars associated with the University of California to have direct control over the creation and dissemination of the full range of their scholarship.

eScholarship Publishing

eScholarship\u00a0Publishing\u00a0provides comprehensive publication services for UC-affiliated departments, research units, publishing programs, and individual scholars who seek to publish original, open access journals, books, conference proceedings, and other original scholarship. Our journals program, in particular, supports publications that traverse standard disciplinary boundaries, explore new publishing models, and/or seek to reach professionals in applied fields beyond academia.

eScholarship Repository

eScholarship Repository\u00a0offers preservation and dissemination services for a wide range of scholarship including working papers, electronic theses and dissertations (ETDs), student capstone projects, and paper/seminar series. eScholarship Repository is also the primary destination for researchers depositing their previously published journal articles in accordance with the Academic Senate\u2019s\u00a0UC Open Access Policy.

Technical Resources

Learn more about about the technical specifications of the eScholarship platform, including\u00a0integrations\u00a0and\u00a0technical documentation.

eScholarship is a service of the Publishing Group of the\u00a0California Digital Library.


" - }, - { - "slug": "ucoapolicies", - "title": "UC Open Access Policies", - "body": "

The Academic Senate of the University of California adopted an Open Access Policy on July 24, 2013, ensuring that future research articles authored by faculty at all 10 UC campuses will be made available to the public at no charge. A precursor to this policy was adopted by the UCSF Academic Senate on May 21, 2012.

On October 23, 2015, a Presidential Open Access Policy expanded open access rights and responsibilities to all other authors who write scholarly articles while employed at UC, including non-senate researchers, lecturers, post-doctoral scholars, administrative staff, librarians, and graduate students.

How do I comply with these policies?

The UC open access policies require that UC faculty and other employees provide a copy of their scholarly articles for inclusion in eScholarship or provide a link to an open version of their articles elsewhere.

What are the benefits of participating in the Open Access policies?

Learn more

Visit the Office of Scholarly Communication to:

" - } - ], - "collections": [ - { - "title": "Center for Embedded Network Sensing", - "identifier": "cens", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Data Practices", - "identifier": "cens_dp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Posters", - "identifier": "cens_Posters", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Presentations", - "identifier": "cens_pres", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "cens_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Technologies", - "identifier": "cens_tech", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Technical Reports", - "identifier": "cens_techrep", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Papers", - "identifier": "cens_wps", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/22c48cb88f2358207f600f420d62f16711729a2da811bc66e66a180faf95df1e" - }, - "properties": { - "about": "

CENS, a NSF Science & Technology Center, is developing Embedded Networked\n Sensing Systems and applying this revolutionary technology to critical scientific and\n social applications. Like the Internet, these large-scale, distributed, systems,\n composed of smart sensors and actuators embedded in the physical world, will eventually\n infuse the entire world, but at a physical level instead of virtual. An\n interdisciplinary and multi-institutional venture, CENS involves hundreds of faculty,\n engineers, graduate student researchers, and undergraduate students from multiple\n disciplines at the partner institutions of University of California at Los Angeles\n (UCLA), University of Southern California (USC), University of California Riverside\n (UCR), California Institute of Technology (Caltech), University of California at Merced\n (UCM), and California State University at Los Angeles (CSULA).

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS). For additional information, please contact xuanmai@cens.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at xuanmai@cens.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

This repository only publishes materials about work conducted under the auspices of the\n Center for Embedded Networked Sensing (CENS).

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Start the submission by clicking \"Submit Paper\" from the menu and follow the\n instructions.
  6. \n
  7. If you have any questions, please contact David Avery at avery@ucla.edu.
  8. \n
\n

How to Revise Your Paper

\n

If you publish this paper, or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to avery@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for Information Technology Research in the Interest of Society (CITRIS)", - "identifier": "citris", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/bcfdf1e717dd056654c9c7c5b7355a5723f2faf9111ebdfdb04b4b07d1458f63" - }, - "properties": { - "about": "

The Center for Information Technology Research in the Interest of Society (CITRIS) and the Banatao Institute create information technology solutions for society\u2019s most pressing challenges.

\n

CITRIS and the Banatao Institute leverage the research strengths of University of California campuses at Berkeley, Davis, Merced and Santa Cruz, and operate within the greater ecosystem of the University and the innovative and entrepreneurial spirit of Silicon Valley. The institute was created by the California state legislature to shorten the pipeline between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS and the Banatao Institute facilitate interdisciplinary work among hundreds of University of California faculty members, students, corporate partners, and international institutions. Together with these public and private partners, we are shaping the future of technology in ways that cross traditional boundaries.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Center for Information Technology Research in the Interest of Society (CITRIS) creates information technology solutions for society\u2019s most pressing challenges. CITRIS leverages the research strengths of University of California campuses at Berkeley, Davis, Merced and Santa Cruz, and operates within the greater ecosystem of the University and the innovative and entrepreneurial spirit of Silicon Valley. The institute was created to \u201cshorten the pipeline\u201d between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates multi-disciplinary partnerships and collaborations among more than 300 faculty members, thousands of students, and researchers from over 60 corporations and institutions.

\n

CITRIS addresses complex and future-facing issues such as developing sustainable energy, water and transportation systems; fostering civic engagement in the digital era; improving the human experience through advances in robotics and automation; and modernizing health care delivery. CITRIS represents a bold and exciting vision that engages one of the top university systems in the world to generate social and economic benefit.

\n

We focus our research on four core initiatives:

\n\n

Please visit our website for more information about these initiatives and related programs, labs, and activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

CITRIS at UC Berkeley (headquarters):
330 Sutardja Dai Hall, MC-1764
Berkeley, CA 94607-1764
lorie@citris-uc.org
(510) 664-4301

\n

CITRIS at UC Davis
2123/3059 Kemper Hall
One Shields Avenue
Davis, CA 95616
(530) 754-5377
(530) 752-6835
npmetzler@ucdavis.edu

\n

CITRIS at UC Merced
Classroom Office, Building Room 371
5200 North Lake Road
Merced, CA 95343
(209) 380-7015
bconn2@ucmerced.edu

\n

CITRIS at UC Santa Cruz
Engineering 2, Suite 595
MS: CBSE/ITi
1156 High Street
Santa Cruz, CA 95064
(831) 459-3029
adomingu@ucsc.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Information Technology Research in the Interest of Society (CITRIS) and the Banatao Institute publishes materials about work conducted by CITRIS and the Banatao Institute Principal Investigators or sponsored by CITRIS and the Banatao Institute grants. The editors reserve the right to determine the suitability of submissions. For additional information, please contact ccrittenden@citris-uc.org.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: ccrittenden@citris-uc.org.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator ccrittenden@citris-uc.org.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

\n

Acknowledgement

\n

Please include recognition of CITRIS and the Banatao Institute support or affiliation as appropriate, either in author affiliations or funding acknowledgement. Example: \u201cThis work was supported by CITRIS and the Banatao Institute at the University of California.\"

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Please confirm you are a CITRIS PI; contact CITRIS Director of Administration and Finance Karen Stierwalt at karen@citris-uc.org with any questions regarding your CITRIS PI status. Publications should be submitted as PDF files." - } - ], - "collections": [ - { - "title": "Connected Communities", - "identifier": "citris_cc", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/bcfdf1e717dd056654c9c7c5b7355a5723f2faf9111ebdfdb04b4b07d1458f63" - }, - "properties": { - "about": "

The Center for Information Technology Research in the Interest of Society (CITRIS), is a multi-campus, multi-disciplinary research institute of the University of California. Established in 2001 as one of four California Institutes for Science and Innovation, CITRIS bridges the gap between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates partnerships among more than 300 affiliated faculty members, thousands of students, and researchers from over 60 corporations and institutions. Spanning four UC campuses, CITRIS leverages the research strengths of UC Berkeley, UC Davis, UC Merced and UC Santa Cruz, and operates within the greater ecosystem of the statewide University system and the innovative and entrepreneurial spirit of Silicon Valley.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Center for Information Technology Research in the Interest of Society (CITRIS) creates information technology solutions for society\u2019s most pressing challenges. CITRIS leverages the research strengths of University of California campuses at Berkeley, Davis, Merced and Santa Cruz, and operates within the greater ecosystem of the University and the innovative and entrepreneurial spirit of Silicon Valley. The institute was created to \u201cshorten the pipeline\u201d between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates multi-disciplinary partnerships and collaborations among more than 300 faculty members, thousands of students, and researchers from over 60 corporations and institutions.

\n

CITRIS addresses complex and future-facing issues such as developing sustainable energy, water and transportation systems; fostering civic engagement in the digital era; improving the human experience through advances in robotics and automation; and modernizing health care delivery. CITRIS represents a bold and exciting vision that engages one of the top university systems in the world to generate social and economic benefit.

\n

We focus our research on four core initiatives:

\n\n

Please visit our website for more information about these initiatives and related programs, labs, and activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

CITRIS at UC Berkeley (headquarters):
330 Sutardja Dai Hall, MC-1764
Berkeley, CA 94607-1764
lorie@citris-uc.org
(510) 664-4301

\n

CITRIS at UC Davis
2123/3059 Kemper Hall
One Shields Avenue
Davis, CA 95616
(530) 754-5377
(530) 752-6835
npmetzler@ucdavis.edu

\n

CITRIS at UC Merced
Classroom Office, Building Room 371
5200 North Lake Road
Merced, CA 95343
(209) 380-7015
bconn2@ucmerced.edu

\n

CITRIS at UC Santa Cruz
Engineering 2, Suite 595
MS: CBSE/ITi
1156 High Street
Santa Cruz, CA 95064
(831) 459-3029
lmslater@soe.ucsc.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Information Technology Research in the Interest of Society (CITRIS) publishes materials about work conducted by CITRIS Principal Investigators or sponsored by CITRIS grants. The editors reserve the right to determine the suitability of submissions. For additional information, please contact ccrittenden@citris-uc.org.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: ccrittenden@citris-uc.org.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator ccrittenden@citris-uc.org.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

\n

Acknowledgement

\n

Please include recognition of CITRIS support or affiliation as appropriate, either in author affiliations or funding acknowledgement. Example: \u201cThis work has been supported by NSF (XXX-0000000), the Smith Foundation and CITRIS (Center for Information Technology Research in the Interest of Society).\"

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Please confirm you are a CITRIS PI; contact CITRIS Director of Administration and Finance Karen Stierwalt at karen@citris-uc.org with any questions regarding your CITRIS PI status. Publications should be submitted as PDF files." - } - ] - }, - { - "title": "Health", - "identifier": "citris_health", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/bcfdf1e717dd056654c9c7c5b7355a5723f2faf9111ebdfdb04b4b07d1458f63" - }, - "properties": { - "about": "

The Center for Information Technology Research in the Interest of Society (CITRIS), is a multi-campus, multi-disciplinary research institute of the University of California. Established in 2001 as one of four California Institutes for Science and Innovation, CITRIS bridges the gap between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates partnerships among more than 300 affiliated faculty members, thousands of students, and researchers from over 60 corporations and institutions. Spanning four UC campuses, CITRIS leverages the research strengths of UC Berkeley, UC Davis, UC Merced and UC Santa Cruz, and operates within the greater ecosystem of the statewide University system and the innovative and entrepreneurial spirit of Silicon Valley.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Center for Information Technology Research in the Interest of Society (CITRIS) creates information technology solutions for society\u2019s most pressing challenges. CITRIS leverages the research strengths of University of California campuses at Berkeley, Davis, Merced and Santa Cruz, and operates within the greater ecosystem of the University and the innovative and entrepreneurial spirit of Silicon Valley. The institute was created to \u201cshorten the pipeline\u201d between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates multi-disciplinary partnerships and collaborations among more than 300 faculty members, thousands of students, and researchers from over 60 corporations and institutions.

\n

CITRIS addresses complex and future-facing issues such as developing sustainable energy, water and transportation systems; fostering civic engagement in the digital era; improving the human experience through advances in robotics and automation; and modernizing health care delivery. CITRIS represents a bold and exciting vision that engages one of the top university systems in the world to generate social and economic benefit.

\n

We focus our research on four core initiatives:

\n\n

Please visit our website for more information about these initiatives and related programs, labs, and activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

CITRIS at UC Berkeley (headquarters):
330 Sutardja Dai Hall, MC-1764
Berkeley, CA 94607-1764
lorie@citris-uc.org
(510) 664-4301

\n

CITRIS at UC Davis
2123/3059 Kemper Hall
One Shields Avenue
Davis, CA 95616
(530) 754-5377
(530) 752-6835
npmetzler@ucdavis.edu

\n

CITRIS at UC Merced
Classroom Office, Building Room 371
5200 North Lake Road
Merced, CA 95343
(209) 380-7015
bconn2@ucmerced.edu

\n

CITRIS at UC Santa Cruz
Engineering 2, Suite 595
MS: CBSE/ITi
1156 High Street
Santa Cruz, CA 95064
(831) 459-3029
lmslater@soe.ucsc.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Information Technology Research in the Interest of Society (CITRIS) publishes materials about work conducted by CITRIS Principal Investigators or sponsored by CITRIS grants. The editors reserve the right to determine the suitability of submissions. For additional information, please contact ccrittenden@citris-uc.org.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: ccrittenden@citris-uc.org.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator ccrittenden@citris-uc.org.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

\n

Acknowledgement

\n

Please include recognition of CITRIS support or affiliation as appropriate, either in author affiliations or funding acknowledgement. Example: \u201cThis work has been supported by NSF (XXX-0000000), the Smith Foundation and CITRIS (Center for Information Technology Research in the Interest of Society).\"

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Please confirm you are a CITRIS PI; contact CITRIS Director of Administration and Finance Karen Stierwalt at karen@citris-uc.org with any questions regarding your CITRIS PI status. Publications should be submitted as PDF files." - } - ] - }, - { - "title": "People and Robots", - "identifier": "citris_pr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/bcfdf1e717dd056654c9c7c5b7355a5723f2faf9111ebdfdb04b4b07d1458f63" - }, - "properties": { - "about": "

The Center for Information Technology Research in the Interest of Society (CITRIS), is a multi-campus, multi-disciplinary research institute of the University of California. Established in 2001 as one of four California Institutes for Science and Innovation, CITRIS bridges the gap between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates partnerships among more than 300 affiliated faculty members, thousands of students, and researchers from over 60 corporations and institutions. Spanning four UC campuses, CITRIS leverages the research strengths of UC Berkeley, UC Davis, UC Merced and UC Santa Cruz, and operates within the greater ecosystem of the statewide University system and the innovative and entrepreneurial spirit of Silicon Valley.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Center for Information Technology Research in the Interest of Society (CITRIS) creates information technology solutions for society\u2019s most pressing challenges. CITRIS leverages the research strengths of University of California campuses at Berkeley, Davis, Merced and Santa Cruz, and operates within the greater ecosystem of the University and the innovative and entrepreneurial spirit of Silicon Valley. The institute was created to \u201cshorten the pipeline\u201d between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates multi-disciplinary partnerships and collaborations among more than 300 faculty members, thousands of students, and researchers from over 60 corporations and institutions.

\n

CITRIS addresses complex and future-facing issues such as developing sustainable energy, water and transportation systems; fostering civic engagement in the digital era; improving the human experience through advances in robotics and automation; and modernizing health care delivery. CITRIS represents a bold and exciting vision that engages one of the top university systems in the world to generate social and economic benefit.

\n

We focus our research on four core initiatives:

\n\n

Please visit our website for more information about these initiatives and related programs, labs, and activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

CITRIS at UC Berkeley (headquarters):
330 Sutardja Dai Hall, MC-1764
Berkeley, CA 94607-1764
lorie@citris-uc.org
(510) 664-4301

\n

CITRIS at UC Davis
2123/3059 Kemper Hall
One Shields Avenue
Davis, CA 95616
(530) 754-5377
(530) 752-6835
npmetzler@ucdavis.edu

\n

CITRIS at UC Merced
Classroom Office, Building Room 371
5200 North Lake Road
Merced, CA 95343
(209) 380-7015
bconn2@ucmerced.edu

\n

CITRIS at UC Santa Cruz
Engineering 2, Suite 595
MS: CBSE/ITi
1156 High Street
Santa Cruz, CA 95064
(831) 459-3029
lmslater@soe.ucsc.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Information Technology Research in the Interest of Society (CITRIS) publishes materials about work conducted by CITRIS Principal Investigators or sponsored by CITRIS grants. The editors reserve the right to determine the suitability of submissions. For additional information, please contact ccrittenden@citris-uc.org.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: ccrittenden@citris-uc.org.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator ccrittenden@citris-uc.org.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

\n

Acknowledgement

\n

Please include recognition of CITRIS support or affiliation as appropriate, either in author affiliations or funding acknowledgement. Example: \u201cThis work has been supported by NSF (XXX-0000000), the Smith Foundation and CITRIS (Center for Information Technology Research in the Interest of Society).\"

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Please confirm you are a CITRIS PI; contact CITRIS Director of Administration and Finance Karen Stierwalt at karen@citris-uc.org with any questions regarding your CITRIS PI status. Publications should be submitted as PDF files." - } - ] - }, - { - "title": "Sustainable Infrastructures ", - "identifier": "citris_si", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/bcfdf1e717dd056654c9c7c5b7355a5723f2faf9111ebdfdb04b4b07d1458f63" - }, - "properties": { - "about": "

The Center for Information Technology Research in the Interest of Society (CITRIS), is a multi-campus, multi-disciplinary research institute of the University of California. Established in 2001 as one of four California Institutes for Science and Innovation, CITRIS bridges the gap between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates partnerships among more than 300 affiliated faculty members, thousands of students, and researchers from over 60 corporations and institutions. Spanning four UC campuses, CITRIS leverages the research strengths of UC Berkeley, UC Davis, UC Merced and UC Santa Cruz, and operates within the greater ecosystem of the statewide University system and the innovative and entrepreneurial spirit of Silicon Valley.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The Center for Information Technology Research in the Interest of Society (CITRIS) creates information technology solutions for society\u2019s most pressing challenges. CITRIS leverages the research strengths of University of California campuses at Berkeley, Davis, Merced and Santa Cruz, and operates within the greater ecosystem of the University and the innovative and entrepreneurial spirit of Silicon Valley. The institute was created to \u201cshorten the pipeline\u201d between world-class laboratory research and the development of applications, platforms, companies, and even new industries. CITRIS facilitates multi-disciplinary partnerships and collaborations among more than 300 faculty members, thousands of students, and researchers from over 60 corporations and institutions.

\n

CITRIS addresses complex and future-facing issues such as developing sustainable energy, water and transportation systems; fostering civic engagement in the digital era; improving the human experience through advances in robotics and automation; and modernizing health care delivery. CITRIS represents a bold and exciting vision that engages one of the top university systems in the world to generate social and economic benefit.

\n

We focus our research on four core initiatives:

\n\n

Please visit our website for more information about these initiatives and related programs, labs, and activities.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

CITRIS at UC Berkeley (headquarters):
330 Sutardja Dai Hall, MC-1764
Berkeley, CA 94607-1764
lorie@citris-uc.org
(510) 664-4301

\n

CITRIS at UC Davis
2123/3059 Kemper Hall
One Shields Avenue
Davis, CA 95616
(530) 754-5377
(530) 752-6835
npmetzler@ucdavis.edu

\n

CITRIS at UC Merced
Classroom Office, Building Room 371
5200 North Lake Road
Merced, CA 95343
(209) 380-7015
bconn2@ucmerced.edu

\n

CITRIS at UC Santa Cruz
Engineering 2, Suite 595
MS: CBSE/ITi
1156 High Street
Santa Cruz, CA 95064
(831) 459-3029
lmslater@soe.ucsc.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Information Technology Research in the Interest of Society (CITRIS) publishes materials about work conducted by CITRIS Principal Investigators or sponsored by CITRIS grants. The editors reserve the right to determine the suitability of submissions. For additional information, please contact ccrittenden@citris-uc.org.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: ccrittenden@citris-uc.org.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator ccrittenden@citris-uc.org.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

\n

Acknowledgement

\n

Please include recognition of CITRIS support or affiliation as appropriate, either in author affiliations or funding acknowledgement. Example: \u201cThis work has been supported by NSF (XXX-0000000), the Smith Foundation and CITRIS (Center for Information Technology Research in the Interest of Society).\"

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "Please confirm you are a CITRIS PI; contact CITRIS Director of Administration and Finance Karen Stierwalt at karen@citris-uc.org with any questions regarding your CITRIS PI status. Publications should be submitted as PDF files." - } - ] - } - ] - }, - { - "title": "UC Transnational and Transcolonial Studies Multicampus Research Group", - "identifier": "cmcs_mrg", - "schema": "nglp:unit", - "properties": { - "about": "

The Transnational and Transcolonial Studies Multicampus Research Group is an\n interdisciplinary community of scholars in the humanities and the social sciences from\n throughout the University of California system. Our common purpose is to collaborate on\n the study of minority discourse across national boundaries (transnational) with\n attention to colonial and neocolonial processes (transcolonial). Our immediate research\n goal is to publish a series of books that will reformulate minority discourse from a\n comparative perspective informed by a consideration of transnational and transcolonial\n processes (see the definitions of these terms in \"Research Program Description\" on our\n website). The core group of 43 members: meets regularly and holds workshops and\n conferences; mentors graduate students with an aim to help publish their work; invites\n outside speakers (nationally and internationally known scholars in minority discourse as\n well as minority cultural producers such as artists and writers) to enrich our\n comparative approach; and finally, aids in pedagogical transformations in high schools\n and universities so as to encourage curricular changes that reflect the demographic\n diversity in California. Ultimately, our institutional goal is to create a Center for\n Transnational and Transcolonial Studies that provides linages among area studies and\n ethnic studies centers, as well as humanities and social science departments where the\n focus is often predominantly mainstream (majority discourse) or bounded by one\n discipline, one nation, one culture, or one language. The Center will organize research\n and publication, promote pedagogical development, and coordinate related research\n efforts at the University of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Transnational & Transcolonial Studies Multicampus Research Group only\n publishes materials about work conducted under the auspices of this Group. For\n additional information, please contact modcon@humnet.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at modcon@humnet.ucla.edu. However, a citation to the original version of\n the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent\n the PDF. At this stage, we're unable to make any changes beyond the rare error that\n occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. Please contact modcon@humnet.ucla.edu to view and/or obtain a copy\n of the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Transnational & Transcolonial Studies Multicampus Research Group only\n publishes materials about work conducted under the auspices of this Group. For\n additional information, please contact modcon@humnet.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact m modcon@humnet.ucla.edu.
  2. \n
  3. Write an abstract for your paper. Please limit the length to two pages. Please also\n select keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to modcon@humnet.ucla.edu. Include in an email\n message the following things: abstract; keywords; and name, affiliation (department\n and university), and email address for each author.
  6. \n
  7. If you have any questions, contact modcon@humnet.ucla.edu.
  8. \n
\n

Overview of the Process

\n

Author review:
After you submit your paper, we will create an Adobe Acrobat (PDF)\n version of the paper. We will then send you a message asking you to approve the PDF\n version. Please look it over within 5 days and reply to modcon@humnet.ucla.edu as soon\n as possible. At this stage, we're unable to make any changes beyond the truly necessary.\n You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to modcon@humnet.ucla.edu. We will be able\n to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Graduate Student Conferences", - "identifier": "cmcs_mrg_gsc", - "schema": "nglp:series", - "properties": { - "about": "

The Transnational and Transcolonial Studies Multicampus Research Group is an\n interdisciplinary community of scholars in the humanities and the social sciences from\n throughout the University of California system. Our common purpose is to collaborate on\n the study of minority discourse across national boundaries (transnational) with\n attention to colonial and neocolonial processes (transcolonial). Our immediate research\n goal is to publish a series of books that will reformulate minority discourse from a\n comparative perspective informed by a consideration of transnational and transcolonial\n processes (see the definitions of these terms in \"Research Program Description\" on our\n website). The core group of 43 members: meets regularly and holds workshops and\n conferences; mentors graduate students with an aim to help publish their work; invites\n outside speakers (nationally and internationally known scholars in minority discourse as\n well as minority cultural producers such as artists and writers) to enrich our\n comparative approach; and finally, aids in pedagogical transformations in high schools\n and universities so as to encourage curricular changes that reflect the demographic\n diversity in California. Ultimately, our institutional goal is to create a Center for\n Transnational and Transcolonial Studies that provides linages among area studies and\n ethnic studies centers, as well as humanities and social science departments where the\n focus is often predominantly mainstream (majority discourse) or bounded by one\n discipline, one nation, one culture, or one language. The Center will organize research\n and publication, promote pedagogical development, and coordinate related research\n efforts at the University of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Transnational & Transcolonial Studies Multicampus Research Group only\n publishes materials about work conducted under the auspices of this Group. For\n additional information, please contact modcon@humnet.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at modcon@humnet.ucla.edu. However, a citation to the original version of\n the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent\n the PDF. At this stage, we're unable to make any changes beyond the rare error that\n occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. Please contact modcon@humnet.ucla.edu to view and/or obtain a copy\n of the author agreement.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Transnational & Transcolonial Studies Multicampus Research Group only\n publishes materials about work conducted under the auspices of this Group. For\n additional information, please contact modcon@humnet.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact m modcon@humnet.ucla.edu.
  2. \n
  3. Write an abstract for your paper. Please limit the length to two pages. Please also\n select keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to modcon@humnet.ucla.edu. Include in an email\n message the following things: abstract; keywords; and name, affiliation (department\n and university), and email address for each author.
  6. \n
  7. If you have any questions, contact modcon@humnet.ucla.edu.
  8. \n
\n

Overview of the Process

\n

Author review:
After you submit your paper, we will create an Adobe Acrobat (PDF)\n version of the paper. We will then send you a message asking you to approve the PDF\n version. Please look it over within 5 days and reply to modcon@humnet.ucla.edu as soon\n as possible. At this stage, we're unable to make any changes beyond the truly necessary.\n You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to modcon@humnet.ucla.edu. We will be able\n to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Center for Research on Teaching Excellence", - "identifier": "crte", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/8e34ac9dbb03a73d15868f0fe05714fb383823adad9007821feff7e09e6a64e5" - }, - "properties": { - "about": "

The Center for Research on Teaching Excellence (CRTE) advocates a union of\n scholarship and instruction that is grounded in the academic principles of\n research and evidence. To enable students to excel academically, we support\n a campus-wide culture that values, fosters, and rewards continuous\n improvement in teaching and learning.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "If you have any questions or feedback about this project, please be in touch\n with the coordinator of the guidebook project, Dr. Anne Zanzucchi at azanzucchi@ucmerced.edu." - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Teaching Excellence only publishes materials about\n work conducted under the auspices of the CRTE and the guidebook. For\n additional information, please contact crte@ucmerced.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at gsiguidebook@ucmerced.edu. However, a citation to the original\n version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Teaching Excellence (CRTE) only publishes\n materials about work conducted under the auspices of the CRTE and the\n teaching guidebook. For additional information, please visit crte.ucmerced.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). As\n needed, we can convert files from some programs into an acceptable\n format.
  2. \n
  3. Write an abstract for your paper, which should not exceed 500 words.\n Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to crte@ucmerced.edu. Include in an email message please indicate the following details: abstract; keywords; and name,\n affiliation (department and university), and email address for each\n author.
  6. \n
  7. If you have any questions, please contact the CRTE at crte@ucmerced.edu.
  8. \n
\n

Overview of the Review Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of\n the paper. We will then send you a message asking you to approve the PDF\n version. Please look it over within 5 days and reply to crte@ucmerced.edu as\n soon as possible. At this stage, we're unable to make any changes beyond the\n truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to crte@ucmerced.edu.\n We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in the \"How to Submit\" section. However, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Creating Academic Community for First-Generation College Students: A Graduate Student Instructor Guidebook", - "identifier": "crte_gsiguidebook", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/8e34ac9dbb03a73d15868f0fe05714fb383823adad9007821feff7e09e6a64e5" - }, - "properties": { - "about": "

Thanks to a two-year $295,484 grant from the U.S. Department of Education Fund for the Improvement of Post-Secondary Education, CRTE graduate fellows conduct classroom research and\n publish their findings in our guidebook project paper series.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "If you have any questions or feedback about this project, please be in touch\n with the coordinator of the guidebook project, Dr. Anne Zanzucchi at azanzucchi@ucmerced.edu." - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Teaching Excellence only publishes materials about\n work conducted under the auspices of the CRTE and the guidebook. For\n additional information, please contact crte@ucmerced.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at gsiguidebook@ucmerced.edu. However, a citation to the original\n version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Teaching Excellence (CRTE) only publishes\n materials about work conducted under the auspices of the CRTE and the\n teaching guidebook. For additional information, please visit crte.ucmerced.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). As\n needed, we can convert files from some programs into an acceptable\n format.
  2. \n
  3. Write an abstract for your paper, which should not exceed 500 words.\n Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to crte@ucmerced.edu. Include in an email message please indicate the following details: abstract; keywords; and name,\n affiliation (department and university), and email address for each\n author.
  6. \n
  7. If you have any questions, please contact the CRTE at crte@ucmerced.edu.
  8. \n
\n

Overview of the Review Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of\n the paper. We will then send you a message asking you to approve the PDF\n version. Please look it over within 5 days and reply to crte@ucmerced.edu as\n soon as possible. At this stage, we're unable to make any changes beyond the\n truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to crte@ucmerced.edu.\n We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in the \"How to Submit\" section. However, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Undergraduate Learning Outcomes and Assessment: Pedagogy and Program Planning", - "identifier": "crte_undergradlearning", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/8e34ac9dbb03a73d15868f0fe05714fb383823adad9007821feff7e09e6a64e5" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "If you have any questions or feedback about this project, please be in touch\n with the coordinator of the guidebook project, Dr. Anne Zanzucchi at azanzucchi@ucmerced.edu." - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Center for Research on Teaching Excellence only publishes materials about\n work conducted under the auspices of the CRTE and the guidebook. For\n additional information, please contact crte@ucmerced.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at gsiguidebook@ucmerced.edu. However, a citation to the original\n version of the paper will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Center for Research on Teaching Excellence (CRTE) only publishes\n materials about work conducted under the auspices of the CRTE and the\n teaching guidebook. For additional information, please visit crte.ucmerced.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF). As\n needed, we can convert files from some programs into an acceptable\n format.
  2. \n
  3. Write an abstract for your paper, which should not exceed 500 words.\n Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to crte@ucmerced.edu. Include in an email message please indicate the following details: abstract; keywords; and name,\n affiliation (department and university), and email address for each\n author.
  6. \n
  7. If you have any questions, please contact the CRTE at crte@ucmerced.edu.
  8. \n
\n

Overview of the Review Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of\n the paper. We will then send you a message asking you to approve the PDF\n version. Please look it over within 5 days and reply to crte@ucmerced.edu as\n soon as possible. At this stage, we're unable to make any changes beyond the\n truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to crte@ucmerced.edu.\n We will be able to inform repository users about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in the \"How to Submit\" section. However, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "University of California Institute for Labor and Employment", - "identifier": "ile", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "The State of California Labor, 2001", - "identifier": "ile_scl2001", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "The State of California Labor, 2002", - "identifier": "ile_scl2002", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "The State of California Labor, 2003", - "identifier": "ile_scl2003", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "The State of California Labor, 2004", - "identifier": "ile_scl2004", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/82ee2a8611852e847ec98ad1bedff657af282d9b22a991fcd1c955fc4bcec94c" - }, - "properties": { - "about": "

The Institute for Labor and Employment (ILE) is a new multi-campus research program\n that is devoted to studying, and finding solutions for, problems of labor and employment\n in California and the nation. It expands upon the existing Institutes of Industrial\n Relations (IIRs) at UC Berkeley and UCLA, which were founded in 1945, and on the two\n Centers for Labor Research and Education housed in the IIRs on those two campuses. The\n ILE itself is based at UCLA and UC Berkeley, but draws on and supports faculty, academic\n staff, and students throughout all the campuses in the UC system, sponsoring a variety\n of employment-related research and service activities.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at robbins@ile.ucla.edu.\n However, a citation to the original version of the paper will always remain on the\n site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement. For more information contact robbins@ile.ucla.edu.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Institute for Labor and Employment only publishes materials about work conducted\n under the auspices of the ILE. For additional information, please contact robbins@ile.ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact robbins@ile.ucla.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords.\n These are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to robbins@ile.ucla.edu. Include in an email message with the following: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to robbins@ile.ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "University of California Linguistic Minority Research Institute", - "identifier": "lmri", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI) was established in 1984 in response to the California Legislature's request that the University of California's Office of the President (UCOP) pursue \"...knowledge applicable to educational policy and practice in the area of language minority students' academic achievement and knowledge,\" including their access to the University of California and other institutions of higher education.

\n

The UC LMRI was first established as a research project and then became a Multi-campus Research Unit (MRU) in 1992, with representatives from each of the UC campuses serving as its board. To carry out its mission, the UC LMRI funded research of UC faculty and graduate students; provided professional development for researchers, educators, and policymakers; and disseminated information to researchers, practitioners, and policymakers on educational issues affecting linguistic minorities as well as racial and ethnic minorities and immigrants for both California and the nation.

\n

As a part of its dissemination activities it sponsored an annual research conference that drew participants from across the nation, and conducted regular policy seminars in the state capitol to inform policymakers on the latest research relevant to pending policy issues. The policy seminars became a notable fixture in the capitol. UC LMRI produced dozens of reports, several books, and was the catalyst for numerous journal articles during its existence. It was the \u201cgo to\u201d research center on issues of English language learners for both researchers and practitioners nationwide. Some of the most consulted publications produced over the years are available here at the Civil Rights Project website.

\n

The UC LMRI closed its doors in 2009 after 25 years of existence. In order to make its documents available, LMRI documents are housed here.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ], - "collections": [ - { - "title": "EL Facts", - "identifier": "lmri_el", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Joint Publications", - "identifier": "lmri_jp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Newsletters", - "identifier": "lmri_nl", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Policy Reports", - "identifier": "lmri_pr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Postdoc Reports", - "identifier": "lmri_td", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Technical Reports", - "identifier": "lmri_tr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - }, - { - "title": "Working Papers", - "identifier": "lmri_wp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/50d618a4c0d688beb8df6d8b260ddb7389c52e2b5a8c95348d8acb30cc60f986" - }, - "properties": { - "about": "

The University of California Linguistic Minority Research Institute (UC LMRI), is a\n multi-campus research unit of the University of California that was established in 1984,\n in response to the California Legislature's request that the University of California's\n Office of the President pursue \"...knowledge applicable to educational policy and\n practice in the area of language minority students' academic achievement and knowledge,\"\n including their access to the University of California and other institutions of higher\n education.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "The University of California Linguistic Minority Research Institute (UC LMRI) only\n publishes materials about work conducted under the auspices of UC LMRI. For additional\n information, please contact russ@lmri.ucsb.edu." - } - ] - } - ] - }, - { - "title": "Pacific Rim Research Program", - "identifier": "pacrim", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/878b3bd51b752049fb6a1eaf689c5386c6f8918f8f27925ad578266982b4c818" - }, - "properties": { - "about": "

The Pacific Rim Research Program is a multicampus program established to encourage\n Pacific Rim research on the ten campuses of the University of California. It sponsors a competitive grants program that provides funds for University of California faculty and graduate students who do research on Pacific Rim topics in a variety of disciplines.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - } - ], - "collections": [ - { - "title": "PACRIM Program Bibliography and Archive", - "identifier": "pacrim_pba", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/878b3bd51b752049fb6a1eaf689c5386c6f8918f8f27925ad578266982b4c818" - }, - "properties": { - "about": "

The Pacific Rim Research Program is a multicampus program established to encourage\n Pacific Rim research on the ten campuses of the University of California. It sponsors a competitive grants program that provides funds for University of California faculty and graduate students who do research on Pacific Rim topics in a variety of disciplines.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "pacrim_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/878b3bd51b752049fb6a1eaf689c5386c6f8918f8f27925ad578266982b4c818" - }, - "properties": { - "about": "

The Pacific Rim Research Program is a multicampus program established to encourage\n Pacific Rim research on the ten campuses of the University of California. It sponsors a competitive grants program that provides funds for University of California faculty and graduate students who do research on Pacific Rim topics in a variety of disciplines.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "Pacific Rim Research Program only publishes materials about work conducted under the\n auspices of Pacific Rim Research Program. For additional information, please contact Sandra Wulff." - } - ] - } - ] - }, - { - "title": "School of Social Sciences, Humanities, and Arts", - "identifier": "ssha", - "schema": "nglp:unit", - "collections": [ - { - "title": "Cognitive Science Capstone Projects", - "identifier": "ssha_cogscicp", - "schema": "nglp:series" - }, - { - "title": "English Honors Theses", - "identifier": "ssha_eht", - "schema": "nglp:series", - "properties": { - "about": "
About English Honors Theses
" - } - }, - { - "title": "World Cultures Graduate Student Conference", - "identifier": "ssha_ihgradstud", - "schema": "nglp:unit", - "properties": { - "about": "

The aim of the CRHA Graduate Conference is to facilitate the innovative scholarship of graduate students across the nation and globe by providing opportunities for them to share academic work, receive scholarly feedback and network professionally. The event also facilitates the integration of faculty, promising scholars and colleagues in an interdepartmental intellectual dialogue. The CRHA Graduate Student Conference is a unique opportunity for graduate students to present their scholarly work at UCM in a formal conference setting. All talks and panel sessions are free and open to the public. Please see our Conference Schedule link for more detailed information about this year\u2019s conference.

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "Interdisciplinary graduate study in World Cultures focuses on the ways in which human beings conceive, express, and enact their situations in and relations to societies from the local to the global. In this endeavor, the World Cultures Graduate Group simultaneously embraces emerging trends in the scholarly world, while it harkens back to the holistic approach to knowledge common in the Renaissance. The interdisciplinary framework reconnects areas of study that have drifted apart even as their critical structures have shared basic tools and areas of inquiry\u2014fields ranging from history and literature to art, anthropology, philosophy, and religion. Students will understand and use methods by which historians, literary scholars, anthropologists, artists, philosophers, and other humanists and social scientists examine societies and cultures. At the same time, students will critically examine theories of identity, culture, and society shared by scholars in multiple academic fields that create intellectual bridges for interdisciplinary inquiry. The World Cultures Graduate Group thus provides a broad intellectual context in which to locate societies and cultures over time and space. The objective is to train scholars who are able to work within or beyond the academy in particular disciplines and, simultaneously, to acknowledge and create interdisciplinary frameworks for study of complex human systems and constructs." - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "wc.2013gradconf@ucmerced.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

only publishes materials about work conducted under the auspices of . The editors reserve the right to determine the suitability of submissions. For additional information, please contact.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: .

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator .

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ], - "collections": [ - { - "title": "World Cultures Graduate Student Conference 2013", - "identifier": "ssha_ihgradstud_conf2013", - "schema": "nglp:series", - "properties": { - "about": "

The First Annual Center for Research in the Humanities and Arts (CHRA) Graduate Student conference will be held at the campus of the University of California, Merced, on April 12-13, 2013. From Monadism to Nomadism: A Hybrid Approach to Cultural Productions will focus on the intersection and interplay of cultural studies, the social sciences, and the humanities and encouraging the exploration of various theoretical frameworks, case studies and fieldwork, and research. By juxtaposing issues such as intercultural negotiation, trans-(post)modern society, migratory aesthetics, diverse understandings within liquid societies, and symbolic struggle, this conference provides a venue to explore the post-(de)colonial dilemmas created by the reinvention and promotion of culture as a coherent and diverse reality.

\n

Editors: Paola Di Giuseppantonio Di Franco & Marco Valesi\n
Editing and layout: Roselia Ekhause, Mabel Bowser, and Fabrizio Galeazzi

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

The First Annual Center for Research in the Humanities and Arts (CHRA) Graduate Student conference will be held at the campus of the University of California, Merced, on April 12-13, 2013. From Monadism to Nomadism: A Hybrid Approach to Cultural Productions will focus on the intersection and interplay of cultural studies, the social sciences, and the humanities and encouraging the exploration of various theoretical frameworks, case studies and fieldwork, and research. By juxtaposing issues such as intercultural negotiation, trans-(post)modern society, migratory aesthetics, diverse understandings within liquid societies, and symbolic struggle, this conference provides a venue to explore the post-(de)colonial dilemmas created by the reinvention and promotion of culture as a coherent and diverse reality.

\n

The aim of the CRHA Graduate Conference is to facilitate the innovative scholarship of graduate students across the nation and globe by providing opportunities for them to share academic work, receive scholarly feedback and network professionally. The event also facilitates the integration of faculty, promising scholars and colleagues in an interdepartmental intellectual dialogue. The CRHA Graduate Student Conference is a unique opportunity for graduate students to present their scholarly work at UCM in a formal conference setting. All talks and panel sessions are free and open to the public. Please see our Conference Schedule link for more detailed information about this year\u2019s conference.

" - }, - { - "slug": "call-for-papers", - "title": "Call For Papers", - "body": "

Submission Deadline (EXTENDED): February 22, 2013

\n

Paper or panel proposals in English or Spanish should include an abstract (between 150-350 words \u2013 panel proposals should include a panel abstract, as well as individual paper abstracts). Submissions should be submitted using the individual paper or panel proposal forms. The panelcoversheets are online.

\n

Abstracts must be appended to the completed paper proposal form (as a single document) and submitted, via email(EXTENDED: February 22, 2013). Only completed applications will be considered. The working languages are English and Spanish. There is no registration fee for this conference. Selected participants will be notified by March 1, and your full paper will be due by March 25.

\n

Accepted papers will be considered for inclusion in the published proceedings of the conference: e-Scholarship

\n

Important Dates

\n

February 10, 2013 (EXTENDED: February 22, 2013)
March 1, 2013 / Successful applicants notified
March 25, 2013 / Final paper due
April 12-13, 2013/ Conference

\n

Applications shall be submitted via e-mail.

\n

From Monadism to Nomadism: A Hybrid Approach to Cultural Productions

\n

Does the construction of cultural production contribute to the making and re-making of society? The conference will explore constructed worlds in all their visual manifestations and encourages submissions that deal with the idea of a world that is not preexisting and fixed, but constructed, or in the process of creation. This idea of a world is exceedingly supple and open to numerous complex interpretations. A world can be both tactile and virtual, exterior and interior. It can be ancient, contemporary and everything in between. Technology, language, diaspora and migration, global economics, political discourses, and other phenomena contain the power to not only construct new worlds, but also to redefine and destroy existing worlds. With these ideas in mind, we seek papers that highlight not only the generation of worlds, but also their delineation within society. We welcome papers that discuss how ideology implements and transforms the process of world making or world breaking, provoking new methods of communication and cultural interaction.

\n

Topics for discussion could include, but are not limited to:

" - }, - { - "slug": "conference-committee", - "title": "Conference Committee", - "body": "

Conference Co-Chairs

\n

Marco Valesi
Research interests: urban art, post-colonial theories, trans-modern identity, global cultural production

\n

Paola Di Giuseppantonio Di Franco
Research interests: heritage, museum studies, archaeology, anthropological archaeology, technologies applied to archaeology and museums, education and archaeology, Medieval archaeology, rock cave settlements, new methodologies in archaeology.

\n

Committee Members

\n

Marieka Arksey
Research Interests: Classic and Post-Classic Maya, landscape archaeology, cave archaeology, writing systems, construction of historical identities, Mesoamerican religions.

\n

Christine Clarkson
Research interests: anthropological archaeology, California, Mesoamerica, indigenous people.

\n

Michael Eissinger
Research interests: collective identity, migration, 19th and 20th century rural communities in the American West, ethnohistorical examination on community-building.

\n

Fabrizio Galeazzi
Research interests: digital archaeology, digital heritage, integrated technologies and 3D documentation in archaeology, laser scanning, photogrammetry, 3D reconstruction, virtual museums.

\n

Trevor Jackson
Research interests: literary theory, literature, cultural studies, cultural theory.

\n

Kim McMillon
Research interests: world cultures, african american literature, theatre, performance, cultural studies.

\n

Alicia Ramos Jordan
Research interests: trans-border literature, spanish literature, Latin American literature, Chicano literature, post-colonial studies, resistance literature.

\n

Patrick Wilkinson
Research interests: african based religion, anthropology, archaeology, Caribbean, Haiti, Haitian, Hispaniola, post-colonialism, voodoo.

\n

gayle Yamada
Research interests: power (political, social, and economic); identity and place (especially California's Central Valley); demographic population changes.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "wc.2013gradconf@ucmerced.edu" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

only publishes materials about work conducted under the auspices of . The editors reserve the right to determine the suitability of submissions. For additional information, please contact.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: .

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator .

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "Public Health Capstone Projects", - "identifier": "ssha_phc", - "schema": "nglp:series" - }, - { - "title": "Department of Anthropology - Open Access Policy Deposits", - "identifier": "ucm_ssha_anthro_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated \nwith publications deposited by UC Merced Department of Anthropology \nresearchers in accordance with the University of California\u2019s open \naccess policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of Cognitive Science - Open Access Policy Deposits", - "identifier": "ucm_ssha_cogsci_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of Cognitive Science researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of World Cultures and History - Open Access Policy Deposits", - "identifier": "ucm_ssha_culhist_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of World Cultures and History  researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of Economics - Open Access Policy Deposits", - "identifier": "ucm_ssha_econ_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of Economics researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of English - Open Access Policy Deposits", - "identifier": "ucm_ssha_eng_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of English researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of Spanish - Open Access Policy Deposits", - "identifier": "ucm_ssha_es_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of Spanish researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of History - Open Access Policy Deposits", - "identifier": "ucm_ssha_hist_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of History researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of Psychology - Open Access Policy Deposits", - "identifier": "ucm_ssha_psych_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of Psychology researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Department of Sociology - Open Access Policy Deposits", - "identifier": "ucm_ssha_socio_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated with publications deposited by UC Merced Department of Sociology researchers in accordance with the University of California\u2019s open access policies. For more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - } - ] - }, - { - "title": "University of California All Campus Consortium on Research for Diversity", - "identifier": "ucaccord", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a556f771b5487031269d4d8c217d713a71e1d202f0dbdce8149b963cc5d5576e" - }, - "properties": { - "about": "

UC ACCORD, All Campus Consortium On Research for Diversity, is an interdisciplinary,\n multi-campus research center devoted to a more equitable distribution of educational\n resources and opportunities in California's diverse public schools and universities.\n This distinctive UC voice serves as an information and research clearinghouse and\n catalyst for promoting the delivery of high-quality, equitable schooling to all\n students. ACCORD harnesses the research expertise of the University of California to\n identify strategies that will increase college preparation, access, and retention.\n Policymakers, researchers, teachers, outreach staff, and students all benefit from this\n source of reliable information for equitable education policy and practice.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at ucaccord@ucla.edu. However, a\n citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement.

\n

http://ucaccord.gseis.ucla.edu/publications/copyright.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact ucaccord@ucla.edu.
  2. \n
  3. Write an abstract for your paper. It must be no more than 1 page. Please also select\n keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to ucaccord@ucla.edu. Include in an email message the following things: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact ucaccord@ucla.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to ucaccord@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Papers", - "identifier": "ucaccord_papers", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a556f771b5487031269d4d8c217d713a71e1d202f0dbdce8149b963cc5d5576e" - }, - "properties": { - "about": "

UC ACCORD, All Campus Consortium On Research for Diversity, is an interdisciplinary,\n multi-campus research center devoted to a more equitable distribution of educational\n resources and opportunities in California's diverse public schools and universities.\n This distinctive UC voice serves as an information and research clearinghouse and\n catalyst for promoting the delivery of high-quality, equitable schooling to all\n students. ACCORD harnesses the research expertise of the University of California to\n identify strategies that will increase college preparation, access, and retention.\n Policymakers, researchers, teachers, outreach staff, and students all benefit from this\n source of reliable information for equitable education policy and practice.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at ucaccord@ucla.edu. However, a\n citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement.

\n

http://ucaccord.gseis.ucla.edu/publications/copyright.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact ucaccord@ucla.edu.
  2. \n
  3. Write an abstract for your paper. It must be no more than 1 page. Please also select\n keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to ucaccord@ucla.edu. Include in an email message the following things: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact ucaccord@ucla.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to ucaccord@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Policy Briefs", - "identifier": "ucaccord_pb", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/a556f771b5487031269d4d8c217d713a71e1d202f0dbdce8149b963cc5d5576e" - }, - "properties": { - "about": "

UC ACCORD, All Campus Consortium On Research for Diversity, is an interdisciplinary,\n multi-campus research center devoted to a more equitable distribution of educational\n resources and opportunities in California's diverse public schools and universities.\n This distinctive UC voice serves as an information and research clearinghouse and\n catalyst for promoting the delivery of high-quality, equitable schooling to all\n students. ACCORD harnesses the research expertise of the University of California to\n identify strategies that will increase college preparation, access, and retention.\n Policymakers, researchers, teachers, outreach staff, and students all benefit from this\n source of reliable information for equitable education policy and practice.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at ucaccord@ucla.edu. However, a\n citation to the original version of the paper will always remain on the site.

\n

Author Review

\n

Authors do not have an opportunity to approve papers they have submitted prior to them\n becoming publicly available on the site; therefore, please be sure that the paper is\n ready for public distribution.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary\n permissions have been cleared. You retain the copyright to your paper and grant us the\n nonexclusive right to publish this material, meaning that you may also publish it\n elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in\n the author agreement.

\n

http://ucaccord.gseis.ucla.edu/publications/copyright.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

University of California All Campus Consortium on Research for Diversity only publishes\n materials about work conducted under the auspices of University of California All Campus\n Consortium on Research for Diversity. For additional information, please contact ucaccord@ucla.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft\n Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a\n word-processing program other than Microsoft Word, look for an \"export\" or \"save as\"\n option in your program to save it as an RTF file. If you have questions, please\n contact ucaccord@ucla.edu.
  2. \n
  3. Write an abstract for your paper. It must be no more than 1 page. Please also select\n keywords. These are words that will help a user locate your paper through a\n search.
  4. \n
  5. Submit the paper by emailing it to ucaccord@ucla.edu. Include in an email message the following things: abstract;\n keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact ucaccord@ucla.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of it and\n publish it on the site. You will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal,\n please send the citation of the new version to ucaccord@ucla.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow\n the instructions in \"How to Submit\"; however, please specify when you submit the paper\n that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "UC Consortium for Language Learning & Teaching", - "identifier": "uccllt", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/386edd92ae9628c42917cd38b0a575e410fd0560712e4b64886e7aa6cf4b2247" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Suggested Language for ORU Repository Author Agreement

\n

CDL offers this as a suggested model, not as legal advice.

\n

I grant the UC Consortium for Language Learning & Teaching and Berkeley Language Center on behalf of the Regents of the University of California (hereafter called Organized Research Unit) the non-exclusive right to make content for the eScholarship Repository (hereafter called the Work) available in any format in perpetuity.

\n

I warrant as follows:

\n

(a) that I have the full power and authority to make this agreement;
(b) that the Work does not infringe any copyright, nor violate any proprietary rights, nor contain any libelous matter, nor invade the privacy of any person; and
(c) that no right in the Work has in any way been sold, mortgaged, or otherwise disposed of, and that the Work is free from all liens and claims.

\n

I agree to hold the Organized Research Unit harmless from any claim, action, or proceeding alleging facts that constitute a breach of any warranty enumerated in this paragraph, and further agree to indemnify the Organized Research Unit and others against expenses and attorney\u2019s fees that may be incurred in defense against each claim, action, or proceeding.

\n

Option 1 (for ORUs allowing work to be removed):
I understand that once the Work is deposited in the repository, a citation to the Work will remain visible in perpetuity, even if the Work is updated or removed.

\n

Option 2 (for ORUs not allowing work to be removed):
I understand that once the Work is deposited in the repository, the Work may be updated, but it may not be removed.

" - } - ] - }, - { - "title": "UCEAP Mexico", - "identifier": "uceap", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/27c77bf38dee57f870d4591bb299b9af95f1df78d48f477489cc8990cc5359a1" - }, - "properties": { - "about": "

Since 1962, the University of California Education Abroad Program (UCEAP) has served as the UC systemwide international exchange program. Serving all ten campuses, UCEAP continues its support of the University of California\u2019s mission through academic instruction and exchange relationships around the world.

\n

Currently active in 42 countries with over 140 programs, UCEAP:

\n" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Founded in 1968, the UCEAP M\u00e9xico program is located in a country contiguous with the United States, which lends the program a very special character. Relations between M\u00e9xico and and United States\u2014and with border states like California in particular\u2014are intimate, complex, rich and contested, and they affect every aspect of life on both sides of the border. Study in M\u00e9xico consequently offers unparalleled opportunities for UC students to reach new understandings of what it means to be a Californian, a citizen of the United States, and a citizen of a rapidly globalizing society.

\n

UCEAP M\u00e9xico students are often drawn to address the most sensitive and urgent aspects of Mexican society and culture in their work. This can be a challenging, even transformative process. UCEAP M\u00e9xico\u2019s academic programs are designed to help students undertake such projects with success, and the results have frequently been outstanding. We have founded this Working Paper Series in order to showcase the remarkable contributions that these young scholars are making to the ever-evolving transnational dialog between the two North American United States\u2014of America, and of M\u00e9xico.

\n

Recent work by UCEAP M\u00e9xico students has won the UCEAP Undergraduate Research Award, given for \"quality of research concept and execution, integral and innovative use of resources at the study site, quality of presentation, distinctiveness of the research, and quality of faculty support.\" (see http://eap.ucop.edu/AboutUs/Pages/press_release_detail.aspx?nID=243)

\n

PROGRAMS

\n

There are two program options for UCEAP M\u00e9xico: study at the Universidad Aut\u00f3noma de M\u00e9xico (UNAM), and the Field Research Program (FRP).

\n

UNAM

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/national_autonomous_univ_mexico.aspx)

\n

The National Autonomous University of Mexico (UNAM) is the number one\u2013 ranked university in Latin America, recently awarded the Prince of Asturias Award in Communication and Humanities. It is also one of the world\u2019s largest public universities, with over 300,000 students enrolled and 35,000 professors and researchers on staff.

\n

During the first four weeks in Mexico City, in preparation for the beginning of the academic year in August, students take an intensive review of the Spanish language and Contemporary Mexico class that presents contemporary Mexican culture, society, and diversity, in addition to a historical perspective.

\n

At the UNAM, Students enroll full-time in regularly offered classes for a semester or for an entire year, making progress toward their UC degrees in a wide variety of fields.

\n

In addition, UCEAP M\u00e9xico coordinates and oversees the many opportunities for individual studies, internships, and volunteer work that are available to UNAM students in Mexico City.

\n

FRP

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx)

\n

In the Field Research Program, students devote a semester to an independent research project.

\n

During the first five weeks in Mexico City, in addition to an intensive review of the Spanish language, students take an accelerated course in field research techniques and ethnography, as well as becoming familiar with local libraries, archives, and other research centers. In addition, a Contemporary Mexico class provides familiarity with major themes in Mexican history and scholarship. The intensity of this period is punctuated by roundtable discussions with the Mexican scholars who will become the mentors for the students\u2019 research projects, offering advance guidance on proposals and appropriate research sites. These scholars form part of the Editorial Board of our Working Papers Series.

\n

The remainder of the semester is dedicated to individual field research at one of a number of sites throughout the country (Currently available research sites and mentors are listed at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx). Students meet with mentors at least once a week for academic advice and guidance.

\n

At the end of the program, students write up the results of their research in a substantial paper, which they also present in Mexico City for fellow program participants, instructors, and the Visiting Professor.

" - }, - { - "slug": "author-agreement", - "title": "Diarios de Campo/Fieldwork Diaries, Author Agreement", - "body": "

_________________________________________ (hereafter called the \u201cAuthor\u201d) grants UCEAP M\u00e9xico (hereafter called the \u201cOrganized Research Unit\u201d) on behalf of The Regents of the University of California (hereafter called \u201cThe Regents\u201d) the non-exclusive right to make any material submitted by the Author to the Working Papers Series (hereafter called the \u201cWork\u201d) available in eScholarship in any format in perpetuity.

\n

The Author warrants as follows:

\n

(a) that the Author has the full power and authority to make this agreement;
(b) that the Work does not infringe any copyright, nor violate any proprietary rights, nor contain any libelous matter, nor invade the privacy of any person or third party; and
(c) that no right in the Work has in any way been sold, mortgaged, or otherwise disposed of, and that the Work is free from all liens and claims.

\n

The Author understands that:

\n

(a) once the Work is deposited in eScholarship, a full bibliographic citation to the Work will remain visible in perpetuity, even if the Work is updated or removed.
(b) once a peer-reviewed Work is deposited in the repository, it may not be removed.

\n

For authors who are not employees of the University of California:

\n

The Author agrees to hold The Regents of the University of California, the California Digital Library, the Journal, and its agents harmless for any losses, claims, damages, awards, penalties, or injuries incurred, including any reasonable attorney's fees that arise from any breach of warranty or for any claim by any third party of an alleged infringement of copyright or any other intellectual property rights arising from the Depositor\u2019s submission of materials with the California Digital Library or of the use by the University of California or other users of such materials.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

UCEAP Systemwide Office
6950 Hollister Avenue, Suite 200
Goleta, CA 93117-5823
Phone: (805) 893-4762
Fax: (805) 893-2583

\n

UCEAP M\u00e9xico Staff:
Regional Director, Karen Mead, KMead@eap.ucop.edu

\n

(805) 893-2712 Academic Support, Monica Rocha

\n

(805) 893-4534 Reciprocal Exchanges, Adrian Ramos

\n

Working Papers Series Coordinator: Elisabeth Le Guin, leguin@humnet.ucla.edu

\n

UCEAP M\u00e9xico Coordinadora de programa, Ver\u00f3nica T\u00e9llez Esquivel, 'vte' vte@unam.mx

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Diarios de Campo/Fieldwork Diaries only publishes materials about work conducted under the auspices of the UCEAP M\u00e9xico programs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the Coordinator at leguin@humnet.ucla.edu.

\n

What You May Submit

\n

Diarios de Campo/Fieldwork Diaries welcomes submissions on any topic, in the following genres and formats:

\n\n

When To Submit

\n

Diarios de Campo/Fieldwork Diaries will appear twice yearly, in February and July. Deadlines for consideration in the next issue are the end of the semester preceding, that is, approx. Dec 1st (for the February number) and approx. May 1st (for the July number).

\n

Rights and Permissions

\n

Before submitting a paper to Diarios de Campo/Fieldwork Diaries, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

All submissions are subject to the standard author agreement, an example of which appears here.

\n

Peer Review

\n

Submitted work will be reviewed by members of the Editorial Board following each submission deadline, and authors will be informed of one of three possible outcomes within a month of the deadline:

\n
    \n
  1. Accepted (Some revisions are almost always necessary)
  2. \n
  3. Revise and re-submit (Substantive revisions will be required for acceptance; please submit for a later issue)
  4. \n
  5. Rejected (not appropriate for this publication)
  6. \n
\n

Author Review

\n

Authors whose work is accepted will have a month to execute suggested revisions; if this process takes longer than a month, publication may be delayed to a subsequent issue at the Editorial Board\u2019s discretion.

\n

Once the work has been revised, it will be converted into a PDF for publication on the Working Papers site. Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we are unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Revising Published Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the Coordinator at leguin@humnet.ucla.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the Coordinator: leguin@humnet.ucla.edu.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

It is very important to submit your work for consideration in the allowed formats. Failure to do this may result in your submission being rejected without having been read or viewed.

\n

Allowable formats:

\n

Text documents: MS Word 2011
Charts, graphs: MS Excel
Graphics: within graphics functions of MS Word, OR as .jpg files OR as .tiff files
Photos: as .jpg files OR as .tiff files
Audio: as mp3 or mp4 files
Video: as .mov files (viewable in QuickTime)

" - } - ], - "collections": [ - { - "title": "Diarios de campo/Experiences in multicultural Mexico", - "identifier": "uceap_diariosdecampo_fieldworkdiaries", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/27c77bf38dee57f870d4591bb299b9af95f1df78d48f477489cc8990cc5359a1" - }, - "properties": { - "about": "

Since 1962, the University of California Education Abroad Program (UCEAP) has served as the UC systemwide international exchange program. Serving all ten campuses, UCEAP continues its support of the University of California\u2019s mission through academic instruction and exchange relationships around the world.

\n

Currently active in 42 countries with over 140 programs, UCEAP:

\n" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

Founded in 1968, the UCEAP M\u00e9xico program is located in a country contiguous with the United States, which lends the program a very special character. Relations between M\u00e9xico and and United States\u2014and with border states like California in particular\u2014are intimate, complex, rich and contested, and they affect every aspect of life on both sides of the border. Study in M\u00e9xico consequently offers unparalleled opportunities for UC students to reach new understandings of what it means to be a Californian, a citizen of the United States, and a citizen of a rapidly globalizing society.

\n

UCEAP M\u00e9xico students are often drawn to address the most sensitive and urgent aspects of Mexican society and culture in their work. This can be a challenging, even transformative process. UCEAP M\u00e9xico\u2019s academic programs are designed to help students undertake such projects with success, and the results have frequently been outstanding. We have founded this Working Paper Series in order to showcase the remarkable contributions that these young scholars are making to the ever-evolving transnational dialog between the two North American United States\u2014of America, and of M\u00e9xico.

\n

Recent work by UCEAP M\u00e9xico students has won the UCEAP Undergraduate Research Award, given for \"quality of research concept and execution, integral and innovative use of resources at the study site, quality of presentation, distinctiveness of the research, and quality of faculty support.\" (see http://eap.ucop.edu/AboutUs/Pages/press_release_detail.aspx?nID=243)

\n

PROGRAMS

\n

There are two program options for UCEAP M\u00e9xico: study at the Universidad Aut\u00f3noma de M\u00e9xico (UNAM), and the Field Research Program (FRP).

\n

UNAM

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/national_autonomous_univ_mexico.aspx)

\n

The National Autonomous University of Mexico (UNAM) is the number one\u2013 ranked university in Latin America, recently awarded the Prince of Asturias Award in Communication and Humanities. It is also one of the world\u2019s largest public universities, with over 300,000 students enrolled and 35,000 professors and researchers on staff.

\n

During the first four weeks in Mexico City, in preparation for the beginning of the academic year in August, students take an intensive review of the Spanish language and Contemporary Mexico class that presents contemporary Mexican culture, society, and diversity, in addition to a historical perspective.

\n

At the UNAM, Students enroll full-time in regularly offered classes for a semester or for an entire year, making progress toward their UC degrees in a wide variety of fields.

\n

In addition, UCEAP M\u00e9xico coordinates and oversees the many opportunities for individual studies, internships, and volunteer work that are available to UNAM students in Mexico City.

\n

FRP

\n

(More information can be found at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx)

\n

In the Field Research Program, students devote a semester to an independent research project.

\n

During the first five weeks in Mexico City, in addition to an intensive review of the Spanish language, students take an accelerated course in field research techniques and ethnography, as well as becoming familiar with local libraries, archives, and other research centers. In addition, a Contemporary Mexico class provides familiarity with major themes in Mexican history and scholarship. The intensity of this period is punctuated by roundtable discussions with the Mexican scholars who will become the mentors for the students\u2019 research projects, offering advance guidance on proposals and appropriate research sites. These scholars form part of the Editorial Board of our Working Papers Series.

\n

The remainder of the semester is dedicated to individual field research at one of a number of sites throughout the country (Currently available research sites and mentors are listed at http://eap.ucop.edu/guides/mexico/1314/Pages/field_research_uc_center_mexico_city.aspx). Students meet with mentors at least once a week for academic advice and guidance.

\n

At the end of the program, students write up the results of their research in a substantial paper, which they also present in Mexico City for fellow program participants, instructors, and the Visiting Professor.

" - }, - { - "slug": "author-agreement", - "title": "Diarios de Campo/Fieldwork Diaries, Author Agreement", - "body": "

_________________________________________ (hereafter called the \u201cAuthor\u201d) grants UCEAP M\u00e9xico (hereafter called the \u201cOrganized Research Unit\u201d) on behalf of The Regents of the University of California (hereafter called \u201cThe Regents\u201d) the non-exclusive right to make any material submitted by the Author to the Working Papers Series (hereafter called the \u201cWork\u201d) available in eScholarship in any format in perpetuity.

\n

The Author warrants as follows:

\n

(a) that the Author has the full power and authority to make this agreement;
(b) that the Work does not infringe any copyright, nor violate any proprietary rights, nor contain any libelous matter, nor invade the privacy of any person or third party; and
(c) that no right in the Work has in any way been sold, mortgaged, or otherwise disposed of, and that the Work is free from all liens and claims.

\n

The Author understands that:

\n

(a) once the Work is deposited in eScholarship, a full bibliographic citation to the Work will remain visible in perpetuity, even if the Work is updated or removed.
(b) once a peer-reviewed Work is deposited in the repository, it may not be removed.

\n

For authors who are not employees of the University of California:

\n

The Author agrees to hold The Regents of the University of California, the California Digital Library, the Journal, and its agents harmless for any losses, claims, damages, awards, penalties, or injuries incurred, including any reasonable attorney's fees that arise from any breach of warranty or for any claim by any third party of an alleged infringement of copyright or any other intellectual property rights arising from the Depositor\u2019s submission of materials with the California Digital Library or of the use by the University of California or other users of such materials.

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

UCEAP Systemwide Office
6950 Hollister Avenue, Suite 200
Goleta, CA 93117-5823
Phone: (805) 893-4762
Fax: (805) 893-2583

\n

UCEAP M\u00e9xico Staff:
Regional Director, Karen Mead, KMead@eap.ucop.edu

\n

(805) 893-2712 Academic Support, Monica Rocha

\n

(805) 893-4534 Reciprocal Exchanges, Adrian Ramos

\n

Working Papers Series Coordinator: Elisabeth Le Guin, leguin@humnet.ucla.edu

\n

UCEAP M\u00e9xico Coordinadora de programa, Ver\u00f3nica T\u00e9llez Esquivel, 'vte' vte@unam.mx

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Diarios de Campo/Fieldwork Diaries only publishes materials about work conducted under the auspices of the UCEAP M\u00e9xico programs. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the Coordinator at leguin@humnet.ucla.edu.

\n

What You May Submit

\n

Diarios de Campo/Fieldwork Diaries welcomes submissions on any topic, in the following genres and formats:

\n\n

When To Submit

\n

Diarios de Campo/Fieldwork Diaries will appear twice yearly, in February and July. Deadlines for consideration in the next issue are the end of the semester preceding, that is, approx. Dec 1st (for the February number) and approx. May 1st (for the July number).

\n

Rights and Permissions

\n

Before submitting a paper to Diarios de Campo/Fieldwork Diaries, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere.

\n

All submissions are subject to the standard author agreement, an example of which appears here.

\n

Peer Review

\n

Submitted work will be reviewed by members of the Editorial Board following each submission deadline, and authors will be informed of one of three possible outcomes within a month of the deadline:

\n
    \n
  1. Accepted (Some revisions are almost always necessary)
  2. \n
  3. Revise and re-submit (Substantive revisions will be required for acceptance; please submit for a later issue)
  4. \n
  5. Rejected (not appropriate for this publication)
  6. \n
\n

Author Review

\n

Authors whose work is accepted will have a month to execute suggested revisions; if this process takes longer than a month, publication may be delayed to a subsequent issue at the Editorial Board\u2019s discretion.

\n

Once the work has been revised, it will be converted into a PDF for publication on the Working Papers site. Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we are unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Revising Published Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the Coordinator at leguin@humnet.ucla.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the Coordinator: leguin@humnet.ucla.edu.

" - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "

It is very important to submit your work for consideration in the allowed formats. Failure to do this may result in your submission being rejected without having been read or viewed.

\n

Allowable formats:

\n

Text documents: MS Word 2011
Charts, graphs: MS Excel
Graphics: within graphics functions of MS Word, OR as .jpg files OR as .tiff files
Photos: as .jpg files OR as .tiff files
Audio: as mp3 or mp4 files
Video: as .mov files (viewable in QuickTime)

" - } - ] - } - ] - }, - { - "title": "University of California Energy Institute", - "identifier": "ucei", - "schema": "nglp:unit", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ], - "collections": [ - { - "title": "Basic Science", - "identifier": "ucei_basic", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - }, - { - "title": "Center for the Study of Energy Markets", - "identifier": "ucei_csem", - "schema": "nglp:unit", - "properties": { - "about": "

The mission of the Center for the Study of Energy Markets (CSEM ) (formerly known as POWER), is to foster top research on energy policy in order to promote better understanding of the functioning of energy markets and the impacts of deregulation in energy industries. CSEM also seeks to develop strategies and tools that can be used by regulatory agencies and policy makers for the analysis of energy markets. CSEM is a program of the University of California Energy Institute (UCEI) and also receives significant financial support from the California Energy Commission.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "ucei_csem_rw", - "schema": "nglp:series", - "properties": { - "about": "

The mission of the Center for the Study of Energy Markets (CSEM ) (formerly known as POWER), is to foster top research on energy policy in order to promote better understanding of the functioning of energy markets and the impacts of deregulation in energy industries. CSEM also seeks to develop strategies and tools that can be used by regulatory agencies and policy makers for the analysis of energy markets. CSEM is a program of the University of California Energy Institute (UCEI) and also receives significant financial support from the California Energy Commission.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submission-guidelines", - "title": "Submission Guidelines", - "body": "The Center for the Study of Energy Markets (CSEM) Working Paper Series only includes papers on research conducted under the auspices of CSEM. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - } - ] - }, - { - "title": "Development and Technology", - "identifier": "ucei_devtech", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - }, - { - "title": "Policy and Economics", - "identifier": "ucei_policy", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "ucei_rw", - "schema": "nglp:series", - "properties": { - "about": "

The goal of the University of California Energy Institute (UCEI) is to foster research\n and educate students and policy makers on energy issues that are crucial to the future\n of California, the nation, and the world. UCEI focuses broadly on energy production and\n use, which are both essential to economic prosperity and a significant cause of\n environmental concerns. UCEI's objectives are to solve important energy problems, enrich\n UC faculty through the intellectual challenges inherent in these probelms, and increase\n research funding opportunities at the University. UCEI research covers the general areas\n of energy markets, resources and supply technologies, energy use efficiency, and the\n impacts of energy use on health, the environment, and the economy.

\n

Severin Borenstein, Director
University of California Energy Institute
2547\n Channing Way, #5180
Berkeley, CA 94720-5180
\n borenste@haas.berkeley.edu\n

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "UCEI's Energy Policy and Economics, Energy Development and Technology and Fundamental\n Science of Energy Working Paper Series only accepts research papers from UC researchers.\n Please contact UCEI regarding submittal of your paper for one of these Working Paper\n Series. For additional information, contact UCEI at ucei@uclink.berkeley.edu." - } - ] - } - ] - }, - { - "title": "UC Global Health Institute", - "identifier": "ucghi", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/e8b21492652261a3e8e27a02193e018c94205e6caf0ba13adaab54825e97027c" - }, - "properties": { - "about": "

Recognizing the long-standing and emerging challenges to global health, the\n University of California Global Health Institute will create multi-campus,\n transdisciplinary Centers of Expertise to address these challenges through a\n novel problem-based and action-oriented approach. By integrating and\n leveraging the diverse intellectual capacity of faculty on the ten UC\n campuses, this groundbreaking University-wide initiative will focus on\n producing leaders and practitioners of global health, conducting innovative\n research, and developing international partnerships to improve the health of\n vulnerable people and communities in California and world-wide. The\n Institute will take advantage of cutting-edge technology to enable teaching\n and research and to connect faculty, researchers, students and partners\n around the world.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at Paula Murphy at ucghi@globalhealth.ucsf.edu.\n However, a citation to the original version of the paper will always remain\n on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If\n you use a word-processing program other than Microsoft Word, look for an\n \"export\" or \"save as\" option in your program to save it as an RTF file.\n If you have questions, please contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  2. \n
  3. Write an abstract for your paper. Please try to keep it to under one\n page. Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Paula Murphy at ucghi@globalhealth.ucsf.edu. Include in an email message the following\n things: abstract; keywords; and name, affiliation (department and\n university), and email address for each author.
  6. \n
  7. If you have any questions, contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  8. \n
\n

Overview of the Process

\n

OPTION 1 (author review):
After you submit your paper, we will create an\n Adobe Acrobat (PDF) version of the paper. We will then send you a message\n asking you to approve the PDF version. Please look it over within 5 days and\n reply to Paula Murphy at ucghi@globalhealth.ucsf.edu as soon as possible. At\n this stage, we're unable to make any changes beyond the truly necessary. You\n will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to Paula Murphy at ucghi@globalhealth.ucsf.edu. We will be able to inform repository users\n about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in \"How to Submit\"; however, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "ucghi_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/e8b21492652261a3e8e27a02193e018c94205e6caf0ba13adaab54825e97027c" - }, - "properties": { - "about": "

Recognizing the long-standing and emerging challenges to global health, the\n University of California Global Health Institute will create multi-campus,\n transdisciplinary Centers of Expertise to address these challenges through a\n novel problem-based and action-oriented approach. By integrating and\n leveraging the diverse intellectual capacity of faculty on the ten UC\n campuses, this groundbreaking University-wide initiative will focus on\n producing leaders and practitioners of global health, conducting innovative\n research, and developing international partnerships to improve the health of\n vulnerable people and communities in California and world-wide. The\n Institute will take advantage of cutting-edge technology to enable teaching\n and research and to connect faculty, researchers, students and partners\n around the world.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to\n the system administrator at Paula Murphy at ucghi@globalhealth.ucsf.edu.\n However, a citation to the original version of the paper will always remain\n on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of\n being sent the PDF. At this stage, we're unable to make any changes beyond\n the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all\n necessary permissions have been cleared. You retain the copyright to your\n paper and grant us the nonexclusive right to publish this material, meaning\n that you may also publish it elsewhere.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The UC Global Health Institute only publishes materials about work conducted\n under the auspices of the UCGHI. For additional information, please contact\n Paula Murphy at ucghi@globalhealth.ucsf.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in\n Microsoft Word, Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If\n you use a word-processing program other than Microsoft Word, look for an\n \"export\" or \"save as\" option in your program to save it as an RTF file.\n If you have questions, please contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  2. \n
  3. Write an abstract for your paper. Please try to keep it to under one\n page. Please also select keywords. These are words that will help a user\n locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to Paula Murphy at ucghi@globalhealth.ucsf.edu. Include in an email message the following\n things: abstract; keywords; and name, affiliation (department and\n university), and email address for each author.
  6. \n
  7. If you have any questions, contact Paula Murphy at ucghi@globalhealth.ucsf.edu.
  8. \n
\n

Overview of the Process

\n

OPTION 1 (author review):
After you submit your paper, we will create an\n Adobe Acrobat (PDF) version of the paper. We will then send you a message\n asking you to approve the PDF version. Please look it over within 5 days and\n reply to Paula Murphy at ucghi@globalhealth.ucsf.edu as soon as possible. At\n this stage, we're unable to make any changes beyond the truly necessary. You\n will be notified by e-mail when the paper is posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a\n journal, please send the citation of the new version to Paula Murphy at ucghi@globalhealth.ucsf.edu. We will be able to inform repository users\n about the new version.

\n

If you would like to post a revised version of your paper on the site, please\n follow the instructions in \"How to Submit\"; however, please specify when you\n submit the paper that it is a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "UC Merced Office of the Chancellor", - "identifier": "ucmchancellor", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

The Office of the Chancellor oversees the academic leadership and administration of the university. As the first research university established in the United States in the 21st century, UC Merced is committed to innovation and diversity in its scholarship, pedagogy, and service.

\n

\n

Academic Innovation and the American Research University

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ], - "collections": [ - { - "title": "Academic Innovation and the American Research University", - "identifier": "ucmchancellor_aiaru", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

Academic Innovation and the American Research University

\n

In the fall of 2009, UC Merced hosted a Symposium of distinguished university leaders (see Appendix for a list of panel members) to discuss the future of the public research university. Faculty and administrators explored the future of undergraduate and graduate education, disciplinary versus multidisciplinary or interdisciplinary research and instruction, organizational structure, and general education in the research university in general and at UC Merced in particular.

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ], - "collections": [ - { - "title": "Introduction: Historical Overview of American Research Universities", - "identifier": "ucmchancellor_aiaru_introduction", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

The American research university is a complex enterprise with multiple and often conflicting objectives, stakeholders and missions. As part of the historically powerful University of\n California system, UC Merced has emerged as the next great experiment in American higher education. Since opening in 2005, UC Merced has focused on student-centered, multi-disciplinary\n research that focuses on the problems of the region.

\n

Titles

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ] - }, - { - "title": "AIARU: Panel 1 - Undergraduate Education and the Research University", - "identifier": "ucmchancellor_aiaru_panel1", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

Considering the significant expenditure of faculty time and effort in the name of research, one might well question the role of undergraduate education in the American research\n university. However, excellence in undergraduate education is possible and can be the norm in research universities.

\n

Titles

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ] - }, - { - "title": "AIARU: Panel 2 - Organization and Structure of the Modern Research University", - "identifier": "ucmchancellor_aiaru_panel2", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

The paradigm of discipline-based educational programs and disciplinary faculty remains is the model for research universities. The emphasis on interdisciplinary student-centered\n education and research at UC Merced can create challenges for faculty recruitment and career advancement. What is the optimal structure for the modern research university?

\n

Titles

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ] - }, - { - "title": "AIARU: Panel 3 - General Education and the Research University", - "identifier": "ucmchancellor_aiaru_panel3", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

Multiple models of general education within a research university are discussed, ranging from the University of Cambridge model where general education skills are infused through all\n courses to more \u201ccafeteria-style\u201d models in which students choose from a set of courses that encompass the faculty\u2019s goals for general education.

\n

Titles

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ] - }, - { - "title": "AIARU: Executive Summary", - "identifier": "ucmchancellor_aiaru_summary", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/96ab436d9cf63efc377054ff141533eb01223be8e1862a07d332720407677196" - }, - "properties": { - "about": "

Titles

" - }, - "pages": [ - { - "slug": "contact-us", - "title": "Contact Us", - "body": "

Please direct your questions regarding the UC Merced Academic Innovation Symposium to:

\n

Susan Mikkelsen
Resource Access and Instruction Librarian
Kolligian Library
University of California, Merced
5200 North Lake Road
Merced, CA 95343
209-228-4444
smikkelsen@ucmerced.edu

" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Office of the Chancellor published the proceedings of the Academic Innovation Symposium only after securing all necessary permissions from symposium participants. Speakers have not reviewed videos or transcripts prior to becoming publicly available through eScholarship. Speakers wishing to update transcripts may send a request to the site administrator, smikkelsen@ucmerced.edu." - } - ] - } - ] - } - ] - }, - { - "title": "Center for the Humanities", - "identifier": "ucmercedcenterforthehumanities", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce12443ed7b811cfb52dc50d21390f18e98e46f28664ad5d6bd21733d20e0272" - }, - "properties": { - "about": "

The UC Merced Center for the Humanities fosters individual and \ncollaborative research in the humanities and allied fields. Faculty, \nstudents, artists and visitors affiliated with the Center study human \nexperiences and human consciousness around the world and throughout \ntime, focusing on topics that range from the search for beauty to the \nquest for power. Center exhibitions, publications and performances \nshowcase the cultural products \u2013 from films to dances to maps \u2013 that \nrecord, reflect, and express human solidarity, conflict, \nand transcendence. Inspired by the UC Merced vision of \u201cThe World at \nHome/At Home in the World,\u201d Center activities strive to link the local \nwith the global, the campus with the community, and the empirical with \nthe conceptual.

" - }, - "pages": [ - { - "slug": "about", - "title": "About Center for the Humanities", - "body": "

The UC Merced Center for the Humanities fosters individual and collaborative research in the humanities and allied fields. Faculty, students, artists and visitors affiliated with the Center study human experiences and human consciousness around the world and throughout time, focusing on topics that range from the search for beauty to the quest for power. Center exhibitions, publications and performances showcase the cultural products \u2013 from films to dances to maps \u2013 that record, reflect, and express human solidarity, conflict, and transcendence. Inspired by the UC Merced vision of \u201cThe World at Home/At Home in the World,\u201d Center activities strive to link the local with the global, the campus with the community, and the empirical with the conceptual.

" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrators:

Christina Lux, Associate Director, Center for the Humanities, clux@ucmerced.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

The UC Merced Center for the Humanities only accepts materials about work conducted under its auspices. The editors reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

The UC Merced Center for the Humanities does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard author agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "Bobcat Comics", - "identifier": "ucmercedcenterforthehumanities_comics", - "schema": "nglp:series", - "properties": { - "about": "

This comic series features collaborations with artists funded by the Center for the Humanities or through grants received by UC Merced faculty and graduate students.


" - } - } - ] - }, - { - "title": "UC Merced Library", - "identifier": "ucmercedlibrary", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/57501fb79144af101097b8afaba703b0ad5b173dec393dbc4e79b4dec421b6c5" - }, - "properties": { - "about": "

The UC Merced Library, which serves the tenth and newest campus in the University of\n California System, has made the creation, dissemination, and preservation of digital\n information a cornerstone of its mission. Its partnership with the Malki Museum to make\n the Journal of California And Great Basin Anthropology available to the entire online\n world is one example of how UC Merced Library is carrying out this mission.

" - }, - "collections": [ - { - "title": "Carter Joseph Abrescy and Larry Kranich Library Award for Student Research Excellence", - "identifier": "ucmercedlibrary_akla", - "schema": "nglp:series", - "properties": { - "about": "

The Carter Joseph Abrescy and Larry Kranich Library Award for Student \nResearch Excellence was established in 2017 to recognize outstanding \nundergraduate research at UC Merced. The award recognizes students who \ndemonstrate effective use of library and information resources, as well \nas an understanding of the research process through reflection. A committee of faculty and librarians will review \napplications, which include a course paper or project and reflective essay, and select awardees. A total of $1,000 will be awarded each\n year; no more than two awards of $500 each will be awarded in a given \nyear.


Visit Carter Joseph Abrescy and Larry Kranich Library Award for Student Research Excellence for more information, including eligibility criteria, key dates, awardee requirements, and how to apply for the award.

" - } - }, - { - "title": "Open Access Policy Deposits", - "identifier": "ucmercedlibrary_oapdeposits", - "schema": "nglp:series", - "properties": { - "about": "

This series is automatically populated \nwith publications deposited by UC Merced Library researchers in\n accordance with the University of California\u2019s open access policies. \nFor more information see Open Access Policy Deposits and the UC Publication Management System.

" - } - }, - { - "title": "Other Recent Work", - "identifier": "ucmercedlibrary_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/57501fb79144af101097b8afaba703b0ad5b173dec393dbc4e79b4dec421b6c5" - }, - "properties": { - "about": "

The UC Merced Library, which serves the tenth and newest campus in the University of\n California System, has made the creation, dissemination, and preservation of digital\n information a cornerstone of its mission. Its partnership with the Malki Museum to make\n the Journal of California And Great Basin Anthropology available to the entire online\n world is one example of how UC Merced Library is carrying out this mission.

" - } - } - ] - }, - { - "title": "Applied Math Capstone Projects", - "identifier": "ucm_appliedmath_capstones", - "schema": "nglp:unit", - "properties": { - "about": "About Applied Math Capstones: TODO" - }, - "pages": [ - { - "slug": "about", - "title": "About Applied Math Capstones", - "body": "" - }, - { - "slug": "contact-us", - "title": "Contact us", - "body": "

Site administrator:

Tania Macias tmacias4@ucmerced.edu

" - }, - { - "slug": "policies", - "title": "Policies", - "body": "

Who can submit

Applied Math only accepts materials about work conducted under its auspices. The administrators reserve the right to determine the suitability of submissions. For additional information, please contact the administrator.

Removal

Once posted to the repository, a work cannot generally be removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a work, a citation to the work will remain in our system, along with a URL.

If you would like your work removed from eScholarship, please contact the administrator.

Revising Work

For assistance with revising a submission or subsequent version posting, contact the administrator.

Rights and Permissions

Applied Math does not require copyright transfer, only permission to reproduce and distribute the work. Copyright holders retain copyright ownership, granting us a nonexclusive license to publish the material, meaning that the author may also publish it elsewhere. Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared in any third party material. All submissions to the repository are subject to eScholarship's standard deposit agreement, an example of which may be found in the eScholarship help center.

" - } - ], - "collections": [ - { - "title": "2022 Capstones", - "identifier": "ucm_appliedmath_capstones_2022", - "schema": "nglp:series", - "properties": { - "about": "About 2022 Capstones: TODO" - } - } - ] - }, - { - "title": "UC Merced Electronic Theses and Dissertations", - "identifier": "ucm_etd", - "schema": "nglp:series", - "pages": [ - { - "slug": "submit-paper", - "title": "How to Submit Content to eScholarship", - "body": "

Faculty, staff and researchers at UCM can deposit their content with eScholarship in 3 ways:

\n

Archive your previously published academic papers

\n

UCM accepts the deposit of previously published academic papers from all current UCM faculty and researchers for display in our open access campus collection. To learn more about open\n access and which of your publications may be eligible for deposit, visit our Previously Published Works information page.\n Once you're ready to deposit your publication, click here to start your\n submission.

\n

Add content to your department or research unit's collection

\n

Many UCM departments and research units showcase the scholarly output of their faculty and researchers on eScholarship. These pages are a great place to display your previously\n published papers, working papers, monographs & books, conference procedings, media files and datasets. Each department or unit has its own guidelines for acceptable materials, so\n the first step is to find a space for your content in our listing of UCM departments and research\n units. Can't find your department or research unit? Learn how to start a new collection on eScholarship here.

\n

Submit an original manuscript for consideration in an Open Access journal published by eScholarship

\n\"Example

Scholars from any institution are welcome to submit manuscripts for consideration in our journals -- many of which accept manuscript submissions online.

\n

To submit your manuscript for consideration:

    \n
  1. \nBrowse our list of journals and click on the title of the journal to which you'd like to submit\n your paper.
  2. \n
  3. Review the journal's submission guidelinespolicies
  4. \n
  5. Click the Submit Article link in the journal's sidebar (pictured at right) to begin the submission process.
  6. \n

\n

Need assistance?

\n

Your campus contact's information is listed in the sidebar at left. You're also welcome to contact eScholarship support.

" - } - ] - }, - { - "title": "Merritt Writing Program", - "identifier": "ucm_mwp", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/79b0c3e3b34c450fd44ada96617ec14835e01c4c9d17a7e1e891941d0c86b4f9" - }, - "properties": { - "about": "

As one of the larger academic units on the new UC Merced campus, the Karen Merritt Writing Program is charged with training students \"to convey information to and communicate and interact effectively with multiple audiences, using advanced skills in written and other modes of communication\" (Guiding Principles for General Education at UC Merced).

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

As one of the larger academic units on the new UC Merced campus, the Karen Merritt Writing Program is charged with training students \"to convey information to and communicate and interact effectively with multiple audiences, using advanced skills in written and other modes of communication\" (Guiding Principles for General Education at UC Merced).

\n

We offer an array of courses in which students explore the art of critical thinking, craft their written expression, and address a variety of issues and audiences. Our students learn to use language actively, inventively, and responsibly by exchanging their work at all stages of their writing process while building cumulative portfolios. Our program's interdisciplinary approach to writing offers students the opportunity to reflect broadly on their college education as well as to consider a range of pre-professional and academic opportunities.

\n

General features of our classes:

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Sandra Mora
Personnel and Financial Analyst
Office: Academic Office Annex (AOA) 127
Email: smora@ucmerced.edu
Phone: 209-228-7960" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "The Merritt Writing Program's eScholarship space currently contains a single publication: the UCM Undergraduate Research Journal. Please consult the UCM Undergraduate Research Journal's eScholarship page for more information about Policies and Submission Guidelines." - } - ], - "collections": [ - { - "title": "Recent Work", - "identifier": "ucm_mwp_rw", - "schema": "nglp:series", - "properties": { - "about": "

As one of the larger academic units on the new UC Merced campus, the Karen Merritt Writing Program is charged with training students \"to convey information to and communicate and interact effectively with multiple audiences, using advanced skills in written and other modes of communication\" (Guiding Principles for General Education at UC Merced).

" - }, - "pages": [ - { - "slug": "about-us", - "title": "About Us", - "body": "

As one of the larger academic units on the new UC Merced campus, the Karen Merritt Writing Program is charged with training students \"to convey information to and communicate and interact effectively with multiple audiences, using advanced skills in written and other modes of communication\" (Guiding Principles for General Education at UC Merced).

\n

We offer an array of courses in which students explore the art of critical thinking, craft their written expression, and address a variety of issues and audiences. Our students learn to use language actively, inventively, and responsibly by exchanging their work at all stages of their writing process while building cumulative portfolios. Our program's interdisciplinary approach to writing offers students the opportunity to reflect broadly on their college education as well as to consider a range of pre-professional and academic opportunities.

\n

General features of our classes:

" - }, - { - "slug": "contact-us", - "title": "Contact Us", - "body": "Sandra Mora, Chief Administrative Assistant
Office: Academic Office Annex (AOA) 127
Email: smora@ucmerced.edu
Phone: 209-228-7960" - }, - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

Merritt Writing Program only publishes materials about work conducted under the auspices of Merritt Writing Program. The editors reserve the right to determine the suitability of submissions. For additional information, please contact smora@ucmerced.edu.

\n

Removal

\n

Once posted to a repository, a paper cannot generally be revised or removed. We feel it is important to provide perpetual access to materials published within eScholarship whenever possible and appropriate. However, we will remove publications under special circumstances, including in the case of submission errors, rights violations, or inappropriate content. Please be aware, however, that even after the removal of a text, a citation to the paper will remain in our system, along with a URL.

\n

If you would like your work removed from eScholarship, please contact the administrator: smora@ucmerced.edu.

\n

Revising Work

\n

eScholarship is currently developing solutions to address users' need to occasionally update their work or post subsequent versions of a manuscript. For assistance with revision or subsequent version posting, contact the administrator smora@ucmerced.edu.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions have been cleared. You retain the copyright to your paper and grant us the nonexclusive right to publish this material, meaning that you may also publish it elsewhere. All submissions to the repository are subject to the standard author agreement, an example of which may be found here.

" - } - ] - } - ] - }, - { - "title": "UC Merced Previously Published Works", - "identifier": "ucm_postprints", - "schema": "nglp:series", - "pages": [ - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

You can increase the visibility and impact of your scholarly research using eScholarship's open access repository and publishing tools. This page will help you find the best place to deposit and manage your content within eScholarship.

\n\nUC Open Access Policy Deposit
\n
\n\n\n

Scholarly Articles

\n

The UC Open Access Policy covers articles that have recently been published or accepted for publication.

\nDeposit Scholarly Articles\n | | \n

UC Open Access Policy Help

\n

Learn more about UC's Open Access Policy

\n

Generate a waiver or embargo confirmation
(if your publisher has requested one)

\n\n
\n
\n\n\nAdditional Deposit Options
\n
\n\n\n

Other Scholarly Publications

\n

Books, chapters and other publications are not covered by the UC Open Access Policy, but can be deposited if you have retained the right to do so.

\nDeposit Other Scholarly Publications\n | | \n

New Works

\n

Many UC Merced academic & research units showcase authors' unpublished works, such as working papers, data sets, multimedia and more.

\nLocate your academic unit\n | | \n

eScholarship Journals

\n

Most eScholarship journals accept original manuscripts for consideration from scholars at any institution.

\n


Browse Journals

\n\n
\n
\n\n

Manage Existing eScholarship Content

\n

You can access your previous submissions and access administrator tools by clicking on the My Account link, located in the top right corner of every eScholarship page.

" - } - ] - }, - { - "title": "UC World History Workshop", - "identifier": "ucwhw", - "schema": "nglp:unit", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation.

" - } - ], - "collections": [ - { - "title": "Essays and Positions", - "identifier": "ucwhw_ep", - "schema": "nglp:series", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation. For further information, please contact the Principal Investgator, Prof. Kenneth Pomeranz (klpo...@uci.edu).

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the former Principal Investigator at klpo...@uci.edu. However, a citation to the original version of the paper will always remain on the site.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "ucwhw_rw", - "schema": "nglp:series", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation. For further information, please contact the Principal Investgator, Prof. Kenneth Pomeranz (klpo...@uci.edu).

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the former Principal Investigator at klpo...@uci.edu. However, a citation to the original version of the paper will always remain on the site.

" - } - ] - }, - { - "title": "Working Papers", - "identifier": "ucwhw_wp", - "schema": "nglp:series", - "properties": { - "about": "

The UC World History Workshop multi-campus research and conference group funded by the UC President's Office operated from 2001 to 2011. Building on the work of the earlier Modernity's Histories conference group since 1996, its goal was to help shape the new emerging field of world history by integrating the best methods and epistemological insights from historians and historical social scientists with empirical and interpretive historical research. The Workshop concentrated on furthering graduate students' work and that of faculty working in or moving into the field. In addition to its two major annual conferences, which rotated among the UC campuses, the group sponsored workshops and presentations. A record of its activities remains at http://ucworldhistory.ucr.edu/.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Submissions no longer accepted

\n

The University of California World History Workshop (UCWHW) is no longer in operation. For further information, please contact the Principal Investgator, Prof. Kenneth Pomeranz (klpo...@uci.edu).

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the former Principal Investigator at klpo...@uci.edu. However, a citation to the original version of the paper will always remain on the site.

" - } - ] - } - ] - }, - { - "title": "University of California Water Resources Center", - "identifier": "wrc", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Water Resources Collections and Archives", - "identifier": "wrca", - "schema": "nglp:unit", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ], - "collections": [ - { - "title": "Hydraulic Engineering Laboratory Reports", - "identifier": "wrca_hel", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Hydrology", - "identifier": "wrca_hydrology", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Restoration of Rivers and Streams (LA 227)", - "identifier": "wrca_restoration", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

Taught since 1992 (the longest-running course devoted to river restoration at a major research university), this course emphasizes understanding of underlying goals and assumptions of restoration and integration of science into restoration planning and design. Students review restoration plans and evaluate completed projects. In addition to lectures and discussions by the instructor, students, and an extraordinary set of guest lecturers drawn from the active restoration community, the principal course requirement is an independent term project involving original research. The term projects are peer-reviewed, revised, and ultimately added to the permanent collection of the UC Water Resources Collections and Archives, where they can be searched in the Scotty and Melvyl catalogs. Independent term projects are presented each year in a public symposium.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "wrca_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Working Papers", - "identifier": "wrca_wp", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/ce61592329708959a5d02afab8dc3ed3f0a2c87d293f53b47beeedad6c8c1786" - }, - "properties": { - "about": "

The Water Resources Collections and Archives (WRCA) was founded in 1957 when a special act of the \n California Legislature established the California Water Resources Center to function as a\n University-wide organized research unit dealing with the state's water resources problems. UC\n Berkeley coastal engineers and professors Morrough P. O'Brien and Joe W. Johnson are primarily\n responsible for establishing the Archives on the Berkeley campus. The Archives focuses on\n collecting material pertinent to California and the West. The collection consists of over\n 135,000 technical reports, 1,500 specialized newsletters, 5,000 maps and videos. Many of these\n materials are unique and cannot be found elsewhere. WRCA's holdings are represented in the\n Melvyl Catalog and the Online Archive of California.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Collections and Archives only publishes materials about work conducted under the\n auspices of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - } - ] - }, - { - "title": "Contributions", - "identifier": "wrc_contributions", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Other Recent Work", - "identifier": "wrc_rw", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - }, - { - "title": "Technical Completion Reports", - "identifier": "wrc_tcr", - "schema": "nglp:series", - "thumbnail": { - "format": "url", - "url": "https://escholarship.org/cms-assets/b379f2b82c15a7c7af69d6c818b2a153062b421121d9a150bf7524a0a36ea2f0" - }, - "properties": { - "about": "

The Water Resources Center (WRC) engages the resources of the University of California with\n other institutions in the state for the purpose of developing ecologically-sound and\n economically efficient water management policies and programs in California. The WRC fulfills\n this mission by stimulating and supporting water-related research and education activities\n among the various academic departments and research organizations of the university through\n grants. It collects historic and other documents related to water topics through the Archives\n and makes the collection available to the public.

" - }, - "pages": [ - { - "slug": "policy-statement", - "title": "Policies for Submissions", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

Removal

\n

A paper may be updated or removed from public view by sending a request to the system\n administrator at waterarc@ucr.edu. However, a citation to the original version of the paper\n will always remain on the site.

\n

Author Review

\n

Authors are asked to review PDFs created from their papers within 5 days of being sent the\n PDF. At this stage, we're unable to make any changes beyond the rare error that occurs in PDF\n conversion.

\n

Rights and Permissions

\n

Before submitting a paper to the repository, please be sure that all necessary permissions\n have been cleared. You retain the copyright to your paper and grant us the nonexclusive right\n to publish this material, meaning that you may also publish it elsewhere.

\n

It is necessary that you agree to the terms of publishing in the repository listed in the\n author agreement. Contact waterarc@ucr.edu to receive a copy of the agreement, or if you have any\n further concerns.

" - }, - { - "slug": "submit-paper", - "title": "Submission Guidelines", - "body": "

Who Can Submit

\n

The Water Resources Center only publishes materials about work conducted under the auspices\n of the University of California. For additional information, please contact waterarc@ucr.edu.

\n

How to Submit a Paper

\n
    \n
  1. Make sure your paper is in an acceptable format. We can accept papers in Microsoft Word,\n Rich Text Format (RTF), or Adobe Acrobat (PDF).
    If you use a word-processing program\n other than Microsoft Word, look for an \"export\" or \"save as\" option in your program to save\n it as an RTF file. If you have questions, please contact waterarc@ucr.edu.
  2. \n
  3. Write an abstract for your paper. It can be any length. Please also select keywords. These\n are words that will help a user locate your paper through a search.
  4. \n
  5. Submit the paper by emailing it to waterarc@ucr.edu. Include in an email message the following things:\n abstract; keywords; and name, affiliation (department and university), and email address for\n each author.
  6. \n
  7. If you have any questions, contact waterarc@ucr.edu.
  8. \n
\n

Overview of the Process

\n

After you submit your paper, we will create an Adobe Acrobat (PDF) version of the paper. We\n will then send you a message asking you to approve the PDF version. Please look it over within\n 5 days and reply to waterarc@ucr.edu as soon as possible. At this stage, we're unable to make\n any changes beyond the truly necessary. You will be notified by e-mail when the paper is\n posted.

\n

How to Revise Your Paper

\n

If you publish this paper or a revised version elsewhere, for example in a journal, please\n send the citation of the new version to waterarc@ucr.edu. We will be able to inform repository users about the new\n version.

\n

If you would like to post a revised version of your paper on the site, please follow the\n instructions in \"How to Submit\"; however, please specify when you submit the paper that it is\n a revision of a previously submitted paper.

" - } - ] - } - ] - } - ] - } - ] -} From 4966a35c7c9e8f853a7f6fab9754ec42ae0da084 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Sat, 14 Mar 2026 07:34:23 -0700 Subject: [PATCH 03/10] [E] Refactor a number of expensive upserts to use merge --- app/models/ordering_entry.rb | 6 - app/models/ordering_entry_candidate.rb | 6 +- .../access/audit_granted_permissions.rb | 41 ---- .../access/calculate_granted_permissions.rb | 133 ++++++++----- app/operations/entities/audit_authorizing.rb | 51 ++--- .../entities/calculate_composed_texts.rb | 25 ++- .../entities/index_search_documents.rb | 49 ++--- .../roles/calculate_role_permissions.rb | 6 +- .../instances/extract_composed_text.rb | 1 + app/operations/schemas/orderings/refresh.rb | 177 +++++++++--------- .../users/synchronize_all_access_info.rb | 5 +- .../entities/audit_authorizing_spec.rb | 2 +- 12 files changed, 250 insertions(+), 252 deletions(-) delete mode 100644 app/operations/access/audit_granted_permissions.rb diff --git a/app/models/ordering_entry.rb b/app/models/ordering_entry.rb index 793cc53c..116fb528 100644 --- a/app/models/ordering_entry.rb +++ b/app/models/ordering_entry.rb @@ -51,12 +51,6 @@ class OrderingEntry < ApplicationRecord scope :by_entity, ->(entity) { where(entity:) } class << self - # @param [Ordering] ordering - # @return [Integer] - def delete_stale_for(ordering) - by_ordering(ordering).where.not(stale_at: nil).delete_all - end - # @param [HierarchicalEntity] entity # @return [ActiveRecord::Relation] def linking_to(entity) diff --git a/app/models/ordering_entry_candidate.rb b/app/models/ordering_entry_candidate.rb index eb560833..8c13136f 100644 --- a/app/models/ordering_entry_candidate.rb +++ b/app/models/ordering_entry_candidate.rb @@ -211,9 +211,9 @@ def build_projection_and_joins_for(ordering) arel_table[:scope], relative_depth_expr.as("relative_depth"), order_props_expr.as("order_props"), - arel_quote(nil).as("tree_depth"), - arel_quote(nil).as("tree_parent_id"), - arel_quote(nil).as("tree_parent_type") + arel_literal(%[NULL::bigint]).as("tree_depth"), + arel_literal(%[NULL::uuid]).as("tree_parent_id"), + arel_literal(%[NULL::text]).as("tree_parent_type") ).distinct_on(:hierarchical_type, :hierarchical_id) query.joins!(*compiled.joins.values) if compiled.joins.any? diff --git a/app/operations/access/audit_granted_permissions.rb b/app/operations/access/audit_granted_permissions.rb deleted file mode 100644 index c7c2a2aa..00000000 --- a/app/operations/access/audit_granted_permissions.rb +++ /dev/null @@ -1,41 +0,0 @@ -# frozen_string_literal: true - -module Access - class AuditGrantedPermissions - include Dry::Monads[:result] - include QueryOperation - - CLEANUP = <<~SQL.squish.strip_heredoc.squish.freeze - DELETE FROM granted_permissions gp - WHERE id IN ( - SELECT gp.id FROM granted_permissions gp - LEFT OUTER JOIN role_permissions rp USING (role_id, permission_id) - WHERE rp.id IS NULL - ) - SQL - - def call(access_grant: nil, role: nil) - Success sql_delete! CLEANUP, generate_suffix_for(access_grant:, role:) - end - - private - - def generate_suffix_for(access_grant: nil, role: nil) - ag_id = with_quoted_id_for(access_grant, <<~SQL.squish) - gp.access_grant_id = %s - SQL - - role_id = with_quoted_id_for(role, <<~SQL.squish) - gp.role_id = %s - SQL - - conditions = compile_and(ag_id, role_id) - - return "" if conditions.blank? - - with_sql_template(<<~SQL.squish, conditions) - AND %s - SQL - end - end -end diff --git a/app/operations/access/calculate_granted_permissions.rb b/app/operations/access/calculate_granted_permissions.rb index 83b33c09..c6489fb3 100644 --- a/app/operations/access/calculate_granted_permissions.rb +++ b/app/operations/access/calculate_granted_permissions.rb @@ -4,63 +4,91 @@ module Access class CalculateGrantedPermissions include Dry::Monads[:do, :result] include QueryOperation - include MeruAPI::Deps[audit: "access.audit_granted_permissions"] - PREFIX = <<~SQL.squish.strip_heredoc.squish.freeze - INSERT INTO granted_permissions - ( - access_grant_id, permission_id, user_id, scope, action, role_id, - accessible_type, accessible_id, auth_path, inferred, created_at, updated_at + PREFIX = <<~SQL + WITH calculated_grants AS ( + SELECT ag.id AS access_grant_id, + p.id AS permission_id, + ag.user_id AS user_id, + x.scope, + p.path AS action, + + ag.role_id AS role_id, + ag.accessible_type AS accessible_type, + ag.accessible_id AS accessible_id, + + ag.auth_path, + rp.inferred AS inferred, + + ag.created_at, + ag.updated_at + FROM access_grants ag + INNER JOIN role_permissions rp USING (role_id) + INNER JOIN permissions p ON p.id = rp.permission_id + LEFT JOIN LATERAL ( + SELECT DISTINCT t.scope FROM unnest(p.inheritance) AS t(scope) + ) x ON true + SQL + + SUFFIX = <<~SQL ) - SELECT ag.id AS access_grant_id, - p.id AS permission_id, - ag.user_id AS user_id, - x.scope, - p.path AS action, - - ag.role_id AS role_id, - ag.accessible_type AS accessible_type, - ag.accessible_id AS accessible_id, - - ag.auth_path, - rp.inferred AS inferred, - - ag.created_at, - ag.updated_at - FROM access_grants ag - INNER JOIN role_permissions rp USING (role_id) - INNER JOIN permissions p ON p.id = rp.permission_id - LEFT JOIN LATERAL ( - SELECT DISTINCT t.scope FROM unnest(p.inheritance) AS t(scope) - ) x ON true + MERGE INTO granted_permissions AS target + USING calculated_grants AS source + ON target.access_grant_id = source.access_grant_id + AND target.permission_id = source.permission_id + AND target.user_id = source.user_id + AND target.scope = source.scope + AND target.action = source.action + WHEN MATCHED AND ( + target.role_id <> source.role_id + OR target.accessible_type <> source.accessible_type + OR target.accessible_id <> source.accessible_id + OR target.auth_path <> source.auth_path + OR target.inferred <> source.inferred + ) THEN UPDATE SET + role_id = source.role_id, + accessible_type = source.accessible_type, + accessible_id = source.accessible_id, + auth_path = source.auth_path, + inferred = source.inferred, + updated_at = source.updated_at + WHEN NOT MATCHED THEN INSERT + (access_grant_id, permission_id, user_id, scope, action, role_id, accessible_type, accessible_id, auth_path, inferred, created_at, updated_at) + VALUES + (source.access_grant_id, source.permission_id, source.user_id, source.scope, source.action, source.role_id, source.accessible_type, source.accessible_id, source.auth_path, source.inferred, source.created_at, source.updated_at) + WHEN NOT MATCHED BY SOURCE SQL - SUFFIX = <<~SQL.squish.strip_heredoc.squish.freeze - ON CONFLICT (access_grant_id, permission_id, user_id, scope, action) DO UPDATE SET - role_id = EXCLUDED.role_id, - accessible_type = EXCLUDED.accessible_type, - accessible_id = EXCLUDED.accessible_id, - auth_path = EXCLUDED.auth_path, - inferred = EXCLUDED.inferred, - updated_at = EXCLUDED.updated_at + DELETE_SUFFIX = <<~SQL + THEN DELETE SQL + # @param [AccessGrant, nil] access_grant + # @param [Role, nil] role + # @return [Dry::Monads::Success(void)] def call(access_grant: nil, role: nil) - inserted = sql_insert! PREFIX, generate_infix_for(access_grant:, role:), SUFFIX + sql_insert!( + PREFIX, + generate_infix_for(access_grant:, role:), + SUFFIX, + generate_delete_infix_for(access_grant:, role:), + DELETE_SUFFIX + ) - deleted = yield audit.call(access_grant:, role:) - - Success(inserted:, deleted:) + Success() end private + # @param [AccessGrant, nil] access_grant + # @param [Role, nil] role + # @return [String] def generate_infix_for(access_grant: nil, role: nil) - ag_id = with_quoted_id_for(access_grant, <<~SQL.squish) + ag_id = with_quoted_id_for(access_grant, <<~SQL) ag.id = %s SQL - role_id = with_quoted_id_for(role, <<~SQL.squish) + role_id = with_quoted_id_for(role, <<~SQL) ag.role_id = %s SQL @@ -68,9 +96,30 @@ def generate_infix_for(access_grant: nil, role: nil) return "" if conditions.blank? - with_sql_template(<<~SQL.squish, conditions) + with_sql_template(<<~SQL, conditions) WHERE %s SQL end + + # @param [AccessGrant, nil] access_grant + # @param [Role, nil] role + # @return [String] + def generate_delete_infix_for(access_grant: nil, role: nil) + ag_id = with_quoted_id_for(access_grant, <<~SQL) + target.access_grant_id = %s + SQL + + role_id = with_quoted_id_for(role, <<~SQL) + target.role_id = %s + SQL + + conditions = compile_and(ag_id, role_id) + + return "" if conditions.blank? + + with_sql_template(<<~SQL, conditions) + AND %s + SQL + end end end diff --git a/app/operations/entities/audit_authorizing.rb b/app/operations/entities/audit_authorizing.rb index cbe92a9a..7571113c 100644 --- a/app/operations/entities/audit_authorizing.rb +++ b/app/operations/entities/audit_authorizing.rb @@ -11,48 +11,35 @@ class AuditAuthorizing include Dry::Monads[:result] include QueryOperation - # Look for any authorizing entities that cannot be found in a calculated - # set of _all_ authorizing entities. This performs acceptably well with - # 250k rows extrapolated, but may need to be further refined with larger - # entity sets. - # - # @note When we upgrade to PG 17, the `MERGE` function `WHEN NOT MATCHED BY SOURCE` - # should allow for a much more performant query. - CLEANUP = <<~SQL.strip_heredoc.squish.freeze - DELETE FROM authorizing_entities ae + # Remove any authorizing entities that cannot be found in a calculated + # set of _all_ authorizing entities. + CLEANUP = <<~SQL + MERGE INTO authorizing_entities ae USING ( - WITH calculated AS ( - SELECT DISTINCT ON (ent.auth_path, subent.id, subent.scope, subent.hierarchical_type, subent.hierarchical_id) + SELECT DISTINCT ON (ent.auth_path, subent.id, subent.scope, subent.hierarchical_type, subent.hierarchical_id) ent.auth_path AS auth_path, subent.id AS entity_id, subent.scope, subent.hierarchical_type, subent.hierarchical_id - FROM entities ent - INNER JOIN entities subent ON ent.auth_path @> subent.auth_path - ) - SELECT - auth_path, entity_id, scope, hierarchical_type, hierarchical_id - FROM authorizing_entities - LEFT OUTER JOIN calculated USING (auth_path, entity_id, scope, hierarchical_type, hierarchical_id) - WHERE calculated.auth_path IS NULL - ) oddities - WHERE - oddities.auth_path = ae.auth_path - AND - oddities.entity_id = ae.entity_id - AND - oddities.scope = ae.scope - AND - oddities.hierarchical_type = ae.hierarchical_type - AND - oddities.hierarchical_id = ae.hierarchical_id + FROM entities ent + INNER JOIN entities subent ON ent.auth_path @> subent.auth_path + ) calculated + ON ae.auth_path = calculated.auth_path + AND ae.entity_id = calculated.entity_id + AND ae.scope = calculated.scope + AND ae.hierarchical_type = calculated.hierarchical_type + AND ae.hierarchical_id = calculated.hierarchical_id + WHEN NOT MATCHED BY SOURCE THEN + DELETE ; SQL - # @return [Dry::Monads::Success(Integer)] + # @return [Dry::Monads::Success(void)] def call - Success sql_delete! CLEANUP + sql_insert! CLEANUP + + Success() end end end diff --git a/app/operations/entities/calculate_composed_texts.rb b/app/operations/entities/calculate_composed_texts.rb index fcdb1f9b..ce398ad8 100644 --- a/app/operations/entities/calculate_composed_texts.rb +++ b/app/operations/entities/calculate_composed_texts.rb @@ -1,23 +1,30 @@ # frozen_string_literal: true module Entities + # @see Schemas::Instances::ExtractComposedTexts class CalculateComposedTexts include Dry::Monads[:do, :result] include QueryOperation prepend TransactionalCall - PREFIX = <<~SQL.squish.strip_heredoc.squish.freeze - INSERT INTO entity_composed_texts (entity_type, entity_id, document) - SELECT entity_type, entity_id, tsvector_agg(document) AS document - FROM schematic_texts + PREFIX = <<~SQL + WITH aggregated_texts AS ( + SELECT entity_type, entity_id, tsvector_agg(document) AS document + FROM schematic_texts SQL - SUFFIX = <<~SQL.squish.strip_heredoc.squish.freeze - GROUP BY 1, 2 - ON CONFLICT (entity_type, entity_id) DO UPDATE SET - document = EXCLUDED.document, - updated_at = CASE WHEN EXCLUDED.document IS DISTINCT FROM entity_composed_texts.document THEN CURRENT_TIMESTAMP ELSE entity_composed_texts.updated_at END + SUFFIX = <<~SQL + GROUP BY 1, 2 + ) + MERGE INTO entity_composed_texts AS target + USING aggregated_texts AS source + ON target.entity_id = source.entity_id AND target.entity_type = source.entity_type + WHEN MATCHED AND target.document <> source.document THEN + UPDATE SET document = source.document, updated_at = CURRENT_TIMESTAMP + WHEN NOT MATCHED THEN + INSERT (entity_type, entity_id, document) + VALUES (source.entity_type, source.entity_id, source.document) ; SQL diff --git a/app/operations/entities/index_search_documents.rb b/app/operations/entities/index_search_documents.rb index 8ce90143..7a7d0512 100644 --- a/app/operations/entities/index_search_documents.rb +++ b/app/operations/entities/index_search_documents.rb @@ -1,11 +1,13 @@ # frozen_string_literal: true module Entities + # Collate various text fields from an {Entity} as well as associated tables + # and put them together into a single search document for use in FTS. class IndexSearchDocuments include Dry::Monads[:result] include QueryOperation - PREFIX = <<~SQL.strip_heredoc.freeze + PREFIX = <<~SQL WITH all_documents AS ( SELECT entity_id, entity_type, public.to_unaccented_weighted_tsv(title, 'A') AS document, 1 AS priority, 0 AS ranking FROM entities WHERE scope IN ('communities', 'items', 'collections') UNION ALL @@ -63,39 +65,44 @@ class IndexSearchDocuments scope IN ('communities', 'collections', 'items') SQL - SUFFIX = <<~SQL.strip_heredoc.freeze + SUFFIX = <<~SQL ) - INSERT INTO entity_search_documents ( + MERGE INTO entity_search_documents AS target + USING search_documents AS source + ON target.entity_id = source.entity_id AND target.entity_type = source.entity_type + WHEN MATCHED AND ( + target.title <> source.title + OR target.author_names <> source.author_names + OR target.schematic_texts <> source.schematic_texts + OR target.document <> source.document + OR target.created_at <> source.created_at + ) THEN UPDATE SET + title = source.title, + author_names = source.author_names, + schematic_texts = source.schematic_texts, + document = source.document, + created_at = source.created_at, + updated_at = source.updated_at + WHEN NOT MATCHED THEN INSERT ( entity_id, entity_type, community_id, collection_id, item_id, title, author_names, schematic_texts, document, created_at, updated_at + ) VALUES ( + source.entity_id, source.entity_type, + source.community_id, source.collection_id, source.item_id, + source.title, source.author_names, source.schematic_texts, source.document, + source.created_at, source.updated_at ) - SELECT - entity_id, entity_type, - community_id, collection_id, item_id, - title, author_names, schematic_texts, document, - created_at, updated_at - FROM search_documents - ON CONFLICT (entity_id, entity_type) DO UPDATE SET - community_id = EXCLUDED.community_id, - collection_id = EXCLUDED.collection_id, - item_id = EXCLUDED.item_id, - title = EXCLUDED.title, - author_names = EXCLUDED.author_names, - schematic_texts = EXCLUDED.schematic_texts, - document = EXCLUDED.document, - created_at = EXCLUDED.created_at, - updated_at = EXCLUDED.updated_at ; SQL # @param [HierarchicalEntity] entity # @return [Dry::Monads::Success(Integer)] def call(entity: nil) - updated = sql_update! PREFIX, generate_infix_for(entity:), SUFFIX + sql_insert! PREFIX, generate_infix_for(entity:), SUFFIX - Success(updated) + Success() end private diff --git a/app/operations/roles/calculate_role_permissions.rb b/app/operations/roles/calculate_role_permissions.rb index cc8b0a8d..716d4a11 100644 --- a/app/operations/roles/calculate_role_permissions.rb +++ b/app/operations/roles/calculate_role_permissions.rb @@ -5,7 +5,7 @@ class CalculateRolePermissions include Dry::Monads[:result] include QueryOperation - PREFIX = <<~SQL.squish.strip_heredoc.squish.freeze + PREFIX = <<~SQL INSERT INTO role_permissions (permission_id, role_id, action, inferring_actions, inferring_scopes, inferred, updated_at) SELECT ip.id AS permission_id, r.id AS role_id, ip.path AS action, COALESCE(array_agg(DISTINCT p.path) FILTER (WHERE p.path <> ip.path), '{}') AS inferring_actions, @@ -20,7 +20,7 @@ class CalculateRolePermissions INNER JOIN permissions ip ON p.kind = ip.kind AND p.suffix = ip.suffix AND ip.head IN (p.head, 'self') SQL - SUFFIX = <<~SQL.squish.strip_heredoc.squish.freeze + SUFFIX = <<~SQL GROUP BY 1,2,3 ON CONFLICT (role_id, permission_id) DO UPDATE SET action = EXCLUDED.action, @@ -30,7 +30,7 @@ class CalculateRolePermissions updated_at = EXCLUDED.updated_at SQL - CLEANUP = <<~SQL.squish.strip_heredoc.squish.freeze + CLEANUP = <<~SQL DELETE FROM role_permissions rp USING roles r WHERE diff --git a/app/operations/schemas/instances/extract_composed_text.rb b/app/operations/schemas/instances/extract_composed_text.rb index 6209f1a0..409bccdb 100644 --- a/app/operations/schemas/instances/extract_composed_text.rb +++ b/app/operations/schemas/instances/extract_composed_text.rb @@ -2,6 +2,7 @@ module Schemas module Instances + # @see Entities::CalculateComposedTexts class ExtractComposedText include MeruAPI::Deps[ calculate_composed_texts: "entities.calculate_composed_texts" diff --git a/app/operations/schemas/orderings/refresh.rb b/app/operations/schemas/orderings/refresh.rb index eff0e8c8..fb590d1a 100644 --- a/app/operations/schemas/orderings/refresh.rb +++ b/app/operations/schemas/orderings/refresh.rb @@ -23,104 +23,110 @@ class Refresh SQL PREFIX = <<~SQL.squish - INSERT INTO ordering_entries (ordering_id, entity_id, entity_type, position, inverse_position, link_operator, auth_path, scope, relative_depth, order_props, tree_depth, tree_parent_id, tree_parent_type) + WITH candidate_entries AS ( SQL SUFFIX = <<~SQL.squish - ON CONFLICT (ordering_id, entity_type, entity_id) DO UPDATE SET - stale_at = NULL, - position = EXCLUDED.position, - inverse_position = EXCLUDED.inverse_position, - link_operator = EXCLUDED.link_operator, - auth_path = EXCLUDED.auth_path, - scope = EXCLUDED.scope, - relative_depth = EXCLUDED.relative_depth, - order_props = EXCLUDED.order_props, - tree_depth = EXCLUDED.tree_depth, - tree_parent_id = EXCLUDED.tree_parent_id, - tree_parent_type = EXCLUDED.tree_parent_type, - updated_at = CASE WHEN - ordering_entries.position IS DISTINCT FROM EXCLUDED.position + ) + MERGE INTO ordering_entries AS target + USING candidate_entries + ON target.ordering_id = candidate_entries.ordering_id + AND target.entity_type = candidate_entries.entity_type + AND target.entity_id = candidate_entries.entity_id + WHEN MATCHED + AND ( + target.position <> candidate_entries.position OR - ordering_entries.inverse_position IS DISTINCT FROM EXCLUDED.inverse_position + target.inverse_position <> candidate_entries.inverse_position OR - ordering_entries.link_operator IS DISTINCT FROM EXCLUDED.link_operator + target.link_operator IS DISTINCT FROM candidate_entries.link_operator OR - ordering_entries.auth_path IS DISTINCT FROM EXCLUDED.auth_path + target.auth_path <> candidate_entries.auth_path OR - ordering_entries.scope IS DISTINCT FROM EXCLUDED.scope + target.scope <> candidate_entries.scope OR - ordering_entries.relative_depth IS DISTINCT FROM EXCLUDED.relative_depth + target.relative_depth <> candidate_entries.relative_depth OR - ordering_entries.order_props IS DISTINCT FROM EXCLUDED.order_props + target.order_props <> candidate_entries.order_props OR - ordering_entries.tree_depth IS DISTINCT FROM EXCLUDED.tree_depth + target.tree_depth IS DISTINCT FROM candidate_entries.tree_depth OR - ordering_entries.tree_parent_id IS DISTINCT FROM EXCLUDED.tree_parent_id + target.tree_parent_id IS DISTINCT FROM candidate_entries.tree_parent_id OR - ordering_entries.tree_parent_type IS DISTINCT FROM EXCLUDED.tree_parent_type - THEN CURRENT_TIMESTAMP - ELSE - ordering_entries.updated_at - END - RETURNING ordering_entries.updated_at = CURRENT_TIMESTAMP AS updated + target.tree_parent_type IS DISTINCT FROM candidate_entries.tree_parent_type + ) + THEN UPDATE SET + position = candidate_entries.position, + inverse_position = candidate_entries.inverse_position, + link_operator = candidate_entries.link_operator, + auth_path = candidate_entries.auth_path, + scope = candidate_entries.scope, + relative_depth = candidate_entries.relative_depth, + order_props = candidate_entries.order_props, + tree_depth = candidate_entries.tree_depth, + tree_parent_id = candidate_entries.tree_parent_id, + tree_parent_type = candidate_entries.tree_parent_type, + updated_at = CURRENT_TIMESTAMP + WHEN NOT MATCHED THEN INSERT + (ordering_id, entity_id, entity_type, position, inverse_position, link_operator, auth_path, scope, relative_depth, order_props, tree_depth, tree_parent_id, tree_parent_type) + VALUES (candidate_entries.ordering_id, candidate_entries.entity_id, candidate_entries.entity_type, candidate_entries.position, candidate_entries.inverse_position, candidate_entries.link_operator, candidate_entries.auth_path, candidate_entries.scope, candidate_entries.relative_depth, candidate_entries.order_props, candidate_entries.tree_depth, candidate_entries.tree_parent_id, candidate_entries.tree_parent_type) + WHEN NOT MATCHED BY SOURCE AND target.ordering_id = %1$s THEN DELETE SQL ANCESTOR_LINK_QUERY = <<~SQL - INSERT INTO ordering_entry_ancestor_links (ordering_id, child_id, ancestor_id, inverse_depth) - SELECT oe.ordering_id, oe.id AS child_id, anc.id AS ancestor_id, oe.tree_depth - anc.tree_depth AS inverse_depth - FROM ordering_entries oe - INNER JOIN ordering_entries anc ON oe.ordering_id = anc.ordering_id AND oe.auth_path <@ anc.auth_path AND anc.tree_depth < oe.tree_depth - WHERE oe.tree_depth > 1 AND oe.ordering_id = %s - ON CONFLICT (ordering_id, child_id, inverse_depth) DO UPDATE SET - ancestor_id = EXCLUDED.ancestor_id, - updated_at = CASE WHEN ordering_entry_ancestor_links.ancestor_id IS DISTINCT FROM EXCLUDED.ancestor_id THEN CURRENT_TIMESTAMP ELSE ordering_entry_ancestor_links.updated_at END - RETURNING ordering_entry_ancestor_links.updated_at = CURRENT_TIMESTAMP AS updated + WITH ancestor_entries AS ( + SELECT oe.ordering_id, oe.id AS child_id, anc.id AS ancestor_id, oe.tree_depth - anc.tree_depth AS inverse_depth + FROM ordering_entries oe + INNER JOIN ordering_entries anc ON oe.ordering_id = anc.ordering_id AND oe.auth_path <@ anc.auth_path AND anc.tree_depth < oe.tree_depth + WHERE oe.tree_depth > 1 AND oe.ordering_id = %1$s + ) + MERGE INTO ordering_entry_ancestor_links AS target + USING ancestor_entries AS source + ON target.ordering_id = source.ordering_id AND target.child_id = source.child_id AND target.inverse_depth = source.inverse_depth + WHEN MATCHED AND target.ancestor_id <> source.ancestor_id THEN + UPDATE SET ancestor_id = source.ancestor_id, updated_at = CURRENT_TIMESTAMP + WHEN NOT MATCHED THEN + INSERT (ordering_id, child_id, ancestor_id, inverse_depth) + VALUES (source.ordering_id, source.child_id, source.ancestor_id, source.inverse_depth) + WHEN NOT MATCHED BY SOURCE AND target.ordering_id = %1$s THEN DELETE SQL SIBLING_LINK_QUERY = <<~SQL - INSERT INTO ordering_entry_sibling_links (ordering_id, sibling_id, prev_id, next_id) - SELECT ordering_id, id AS sibling_id, lag(id) OVER w AS prev_id, lead(id) OVER w AS next_id - FROM ordering_entries - WHERE ordering_id = %s - WINDOW w AS (PARTITION BY ordering_id ORDER BY position ASC) - ON CONFLICT (ordering_id, sibling_id) DO UPDATE SET - prev_id = EXCLUDED.prev_id, - next_id = EXCLUDED.next_id, - updated_at = CASE WHEN - EXCLUDED.prev_id IS DISTINCT FROM ordering_entry_sibling_links.prev_id - OR - EXCLUDED.next_id IS DISTINCT FROM ordering_entry_sibling_links.next_id - THEN CURRENT_TIMESTAMP - ELSE ordering_entry_sibling_links.updated_at END - RETURNING ordering_entry_sibling_links.updated_at = CURRENT_TIMESTAMP AS updated + WITH sibling_entries AS ( + SELECT ordering_id, id AS sibling_id, lag(id) OVER w AS prev_id, lead(id) OVER w AS next_id + FROM ordering_entries + WHERE ordering_id = %1$s + WINDOW w AS (PARTITION BY ordering_id ORDER BY position ASC) + ) + MERGE INTO ordering_entry_sibling_links AS target + USING sibling_entries AS source + ON target.ordering_id = source.ordering_id AND target.sibling_id = source.sibling_id + WHEN MATCHED AND ( + target.prev_id IS DISTINCT FROM source.prev_id + OR + target.next_id IS DISTINCT FROM source.next_id + ) THEN + UPDATE SET prev_id = source.prev_id, next_id = source.next_id, updated_at = CURRENT_TIMESTAMP + WHEN NOT MATCHED THEN + INSERT (ordering_id, sibling_id, prev_id, next_id) + VALUES (source.ordering_id, source.sibling_id, source.prev_id, source.next_id) + WHEN NOT MATCHED BY SOURCE AND target.ordering_id = %1$s THEN DELETE SQL # @param [Ordering] ordering - # @return [Dry::Monads::Result] + # @return [Dry::Monads::Success(void)] def call(ordering) yield lock! ordering - yield mark_stale! ordering - - updated_count = yield update! ordering - - deleted_count = OrderingEntry.delete_stale_for(ordering) + yield update! ordering - updated_ancestor_count = yield update_ancestors! ordering + yield update_ancestors! ordering - updated_sibling_count = yield update_siblings! ordering - - response = { - deleted_count:, - updated_count:, - updated_ancestor_count:, - updated_sibling_count:, - } + yield update_siblings! ordering yield ordering.calculate_stats - Success response + Success() end private @@ -139,52 +145,37 @@ def lock!(ordering) # @param [Ordering] ordering # @return [Dry::Monads::Success(void)] - def mark_stale!(ordering) - query = with_quoted_id_for ordering, <<~SQL - UPDATE ordering_entries SET stale_at = CURRENT_TIMESTAMP - WHERE ordering_id = %s - SQL - - Try do - sql_update! query - end - end - - # @param [Ordering] ordering - # @return [Dry::Monads::Success(Integer)] def update!(ordering) select_query = build_select_statement ordering - Try do - result = sql_insert! PREFIX, select_query, SUFFIX + suffix = with_quoted_id_for ordering, SUFFIX - result.count { |row| row["updated"] } + Try do + sql_insert! PREFIX, select_query, suffix end end # @param [Ordering] ordering - # @return [Dry::Monads::Success(Integer)] + # @return [Dry::Monads::Success(void)] def update_ancestors!(ordering) update_query = with_quoted_id_for ordering, ANCESTOR_LINK_QUERY Try do - result = sql_insert! update_query - - result.count { |row| row["updated"] } + sql_insert! update_query end end + # @param [Ordering] ordering + # @return [Dry::Monads::Success(void)] def update_siblings!(ordering) update_query = with_quoted_id_for ordering, SIBLING_LINK_QUERY Try do - result = sql_insert! update_query - - result.count { |row| row["updated"] } + sql_insert! update_query end end - # @!endgroup + # @!endgroup Steps # @see OrderingEntryCandidate.query_for # @param [Ordering] ordering diff --git a/app/operations/users/synchronize_all_access_info.rb b/app/operations/users/synchronize_all_access_info.rb index d28f91cb..8c53b1ee 100644 --- a/app/operations/users/synchronize_all_access_info.rb +++ b/app/operations/users/synchronize_all_access_info.rb @@ -1,11 +1,13 @@ # frozen_string_literal: true module Users + # @api private + # @see Access::EnforceAssignments class SynchronizeAllAccessInfo include Dry::Monads[:result] include QueryOperation - QUERY = <<~SQL.strip_heredoc.freeze + QUERY = <<~SQL UPDATE users u SET access_management = uai.access_management, can_manage_access_globally = uai.can_manage_access_globally, @@ -14,6 +16,7 @@ class SynchronizeAllAccessInfo WHERE uai.user_id = u.id SQL + # @return [Dry::Monads::Success(Integer)] def call result = sql_update! QUERY diff --git a/spec/operations/entities/audit_authorizing_spec.rb b/spec/operations/entities/audit_authorizing_spec.rb index 0b95054f..31eead8b 100644 --- a/spec/operations/entities/audit_authorizing_spec.rb +++ b/spec/operations/entities/audit_authorizing_spec.rb @@ -14,7 +14,7 @@ end.to change(AuthorizingEntity, :count).by(1) expect do - operation.call + expect_calling.to succeed end.to change(AuthorizingEntity, :count).by(-2) end end From dc02eae85ad7b0bb3eaf929a702b5ffe33b77f2e Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Sun, 15 Mar 2026 03:02:03 -0700 Subject: [PATCH 04/10] [E] Use preloading instead of batch loading The batch loaders seem to introduce unusable delay on very large dependency trees, like we see with layouts and templates, as well as entities in general. This uses a new approach to eager load things that are commonly fetched for entities and other mdoels, with special handling when invoking the layout itself. --- Dockerfile | 2 +- Gemfile | 1 + Gemfile.lock | 4 +- app/graphql/types/image_derivative_type.rb | 2 + app/graphql/types/schema_definition_type.rb | 2 + app/graphql/types/schema_version_type.rb | 4 ++ app/models/application_record.rb | 1 + app/models/collection.rb | 16 +++----- app/models/community.rb | 20 +++------- app/models/concerns/attribution.rb | 8 ++++ .../contextually_derived_connection.rb | 1 + app/models/concerns/contribution.rb | 21 ++++++---- app/models/concerns/entity_templating.rb | 38 +++++++++++++++++++ app/models/concerns/hierarchical_entity.rb | 27 ++++++++++++- app/models/concerns/record_preloading.rb | 28 ++++++++++++++ app/models/concerns/skips_preloading.rb | 13 +++++++ app/models/concerns/template_instance.rb | 29 ++++++++------ app/models/contextual_permission.rb | 1 + app/models/contextual_single_permission.rb | 1 + app/models/item.rb | 12 ++---- app/models/layouts/hero_definition.rb | 4 +- app/models/layouts/hero_instance.rb | 18 ++++++++- app/models/layouts/list_item_definition.rb | 4 +- app/models/layouts/list_item_instance.rb | 18 ++++++++- app/models/layouts/main_definition.rb | 8 ++++ app/models/layouts/main_instance.rb | 27 +++++++++++++ app/models/layouts/metadata_definition.rb | 4 +- app/models/layouts/metadata_instance.rb | 18 ++++++++- app/models/layouts/navigation_definition.rb | 4 +- app/models/layouts/navigation_instance.rb | 18 ++++++++- .../layouts/supplementary_definition.rb | 4 +- app/models/layouts/supplementary_instance.rb | 18 ++++++++- app/models/ordering_entry.rb | 1 + app/models/templates/blurb_definition.rb | 2 + app/models/templates/blurb_instance.rb | 2 + .../templates/contributor_list_definition.rb | 2 + .../templates/contributor_list_instance.rb | 2 + .../templates/descendant_list_definition.rb | 2 + .../templates/descendant_list_instance.rb | 2 + app/models/templates/detail_definition.rb | 2 + app/models/templates/detail_instance.rb | 2 + app/models/templates/hero_definition.rb | 2 + app/models/templates/hero_instance.rb | 2 + app/models/templates/link_list_definition.rb | 2 + app/models/templates/link_list_instance.rb | 2 + app/models/templates/list_item_definition.rb | 2 + app/models/templates/list_item_instance.rb | 2 + app/models/templates/metadata_definition.rb | 2 + app/models/templates/metadata_instance.rb | 2 + app/models/templates/navigation_definition.rb | 2 + app/models/templates/navigation_instance.rb | 2 + app/models/templates/ordering_definition.rb | 2 + app/models/templates/ordering_instance.rb | 2 + app/models/templates/page_list_definition.rb | 2 + app/models/templates/page_list_instance.rb | 2 + .../templates/supplementary_definition.rb | 2 + .../templates/supplementary_instance.rb | 2 + app/services/entities/layouts_checker.rb | 10 ++++- app/services/entities/layouts_proxy.rb | 5 +++ app/services/resolvers/abstract_resolver.rb | 13 ++++--- app/services/templates/contribution_list.rb | 13 ------- .../instances/contribution_list_fetcher.rb | 2 +- .../instances/has_contribution_list.rb | 4 +- .../templates/instances/has_entity_list.rb | 17 +++++++++ .../templates/instances/has_ordering_pair.rb | 20 ++++++++++ .../instances/has_see_all_ordering.rb | 8 ++++ config/configs/meru_config.rb | 10 ++++- docker/production/Dockerfile | 2 +- .../layout/templates/definition.rb.tt | 4 +- .../layout/templates/instance.rb.tt | 22 ++++++++++- .../templates/entity_concern.rb.tt | 20 ++++++++++ .../template/templates/definition.rb.tt | 2 + .../template/templates/instance.rb.tt | 2 + .../lib/graphql_api/association_helpers.rb | 4 ++ .../enhancements/abstract_object.rb | 9 +++++ lib/support/lib/loaders/record_loader.rb | 2 + 76 files changed, 499 insertions(+), 95 deletions(-) create mode 100644 app/models/concerns/record_preloading.rb create mode 100644 app/models/concerns/skips_preloading.rb diff --git a/Dockerfile b/Dockerfile index 9abcf863..db101217 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends postgresql-client-18 -RUN gem update --system && gem install bundler:4.0.7 +RUN gem update --system && gem install bundler:4.0.8 ENV BUNDLE_PATH=/bundle \ BUNDLE_BIN=/bundle/bin \ diff --git a/Gemfile b/Gemfile index cd557909..2903c67d 100644 --- a/Gemfile +++ b/Gemfile @@ -25,6 +25,7 @@ gem "after_commit_everywhere", "~> 1.6.0" gem "async", "~> 2.34" gem "closure_tree", "~> 9.2" gem "frozen_record", "~> 0.27.1" +gem "ar_lazy_preload" gem "pghero", "~> 3.7.0" gem "pg_query", "~> 6.2" gem "pg_search", "~> 2.3.7" diff --git a/Gemfile.lock b/Gemfile.lock index 12cbb55b..9cf02b32 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -116,6 +116,7 @@ GEM anystyle-data (1.3.0) anyway_config (2.8.0) ruby-next-core (~> 1.0) + ar_lazy_preload (2.1.1) ast (2.4.3) async (2.38.0) console (~> 1.29) @@ -904,6 +905,7 @@ DEPENDENCIES ahoy_matey (~> 5.4.1) anystyle (~> 1.6.0) anyway_config (~> 2.8) + ar_lazy_preload async (~> 2.34) autotuner (~> 1.1.0) aws-sdk-s3 (~> 1.214) @@ -1040,4 +1042,4 @@ RUBY VERSION ruby 3.4.9 BUNDLED WITH - 4.0.7 + 4.0.8 diff --git a/app/graphql/types/image_derivative_type.rb b/app/graphql/types/image_derivative_type.rb index eeadc11f..cbe8d5ae 100644 --- a/app/graphql/types/image_derivative_type.rb +++ b/app/graphql/types/image_derivative_type.rb @@ -3,6 +3,8 @@ module Types # @see ImageAttachments::FormatWrapper class ImageDerivativeType < Types::BaseObject + disable_auth_checks! + description "A derivative of the image with a specific size and format." implements Types::ImageType diff --git a/app/graphql/types/schema_definition_type.rb b/app/graphql/types/schema_definition_type.rb index 12e72e29..c37a7bd5 100644 --- a/app/graphql/types/schema_definition_type.rb +++ b/app/graphql/types/schema_definition_type.rb @@ -3,6 +3,8 @@ module Types # @see SchemaDefinition class SchemaDefinitionType < Types::AbstractModel + disable_auth_checks! + description <<~TEXT A schema definition is a logical grouping of `SchemaVersion`s that identifies only the shared kind, namespace, and identifier. The name is also most likely diff --git a/app/graphql/types/schema_version_type.rb b/app/graphql/types/schema_version_type.rb index 1bf670f8..21f643b1 100644 --- a/app/graphql/types/schema_version_type.rb +++ b/app/graphql/types/schema_version_type.rb @@ -3,6 +3,8 @@ module Types # @see SchemaVersion class SchemaVersionType < Types::AbstractModel + disable_auth_checks! + description <<~TEXT A specific version of a `SchemaDefinition`. TEXT @@ -83,6 +85,8 @@ class SchemaVersionType < Types::AbstractModel description "A boolean for the logic on `enforcedChildVersions`." end + load_association! :schema_definition + load_association! :enforced_parent_versions load_association! :enforced_child_versions diff --git a/app/models/application_record.rb b/app/models/application_record.rb index d6a27c39..cee23193 100644 --- a/app/models/application_record.rb +++ b/app/models/application_record.rb @@ -15,6 +15,7 @@ class ApplicationRecord < ActiveRecord::Base include LimitToOne include LookupHelpers include ModelMutationSupport + include RecordPreloading include PostgresEnums include StoreModelIntrospection include ::Support::CallsCommonOperation diff --git a/app/models/collection.rb b/app/models/collection.rb index 63467ec8..16fc898a 100644 --- a/app/models/collection.rb +++ b/app/models/collection.rb @@ -21,8 +21,8 @@ class Collection < ApplicationRecord belongs_to :community, inverse_of: :collections - has_many :attributions, -> { in_default_order }, class_name: "CollectionAttribution", dependent: :delete_all, inverse_of: :collection - has_many :contributions, class_name: "CollectionContribution", dependent: :destroy, inverse_of: :collection + has_many :attributions, -> { for_preloading.in_default_order }, class_name: "CollectionAttribution", dependent: :delete_all, inverse_of: :collection + has_many :contributions, -> { for_preloading }, class_name: "CollectionContribution", dependent: :destroy, inverse_of: :collection has_many :contributors, through: :contributions @@ -41,18 +41,12 @@ class Collection < ApplicationRecord def collections = children # @return [:collection] - def entity_kind - :collection - end + def entity_kind = :collection # @return [Community] - def hierarchical_parent - community - end + def hierarchical_parent = community - def hierarchical_children - items - end + def hierarchical_children = items # @return [Collection, nil] def largest_child_collection diff --git a/app/models/community.rb b/app/models/community.rb index 7d164423..0bae39f3 100644 --- a/app/models/community.rb +++ b/app/models/community.rb @@ -37,27 +37,17 @@ class Community < ApplicationRecord after_create :grant_system_roles! # @return [Community] - def community - self - end + def community = self # @return [ActiveRecord::Relation] a null relation - def contributions - CollectionContribution.none - end + def contributions = CollectionContribution.none - def currently_visible? - true - end + def currently_visible? = true # @return [:community] - def entity_kind - :community - end + def entity_kind = :community - def hierarchical_parent - nil - end + def hierarchical_parent = nil alias contextual_parent hierarchical_parent diff --git a/app/models/concerns/attribution.rb b/app/models/concerns/attribution.rb index ff515edf..b02a3898 100644 --- a/app/models/concerns/attribution.rb +++ b/app/models/concerns/attribution.rb @@ -7,7 +7,15 @@ module Attribution extend ActiveSupport::Concern extend DefinesMonadicOperation + include RecordPreloading + included do scope :in_default_order, -> { reorder(position: :asc) } end + + module ClassMethods + def preloaded_for_record_loading + super.includes(:contributor, :roles) + end + end end diff --git a/app/models/concerns/contextually_derived_connection.rb b/app/models/concerns/contextually_derived_connection.rb index 2308af54..fe5a7cc5 100644 --- a/app/models/concerns/contextually_derived_connection.rb +++ b/app/models/concerns/contextually_derived_connection.rb @@ -11,6 +11,7 @@ module ContextuallyDerivedConnection extend ActiveSupport::Concern + include SkipsPreloading include View CONTEXT_KEY = %i[user_id hierarchical_type hierarchical_id].freeze diff --git a/app/models/concerns/contribution.rb b/app/models/concerns/contribution.rb index b8b07e0c..7cb18cb5 100644 --- a/app/models/concerns/contribution.rb +++ b/app/models/concerns/contribution.rb @@ -159,18 +159,25 @@ def for_template_list(filter: "all", limit: Templates::Types::LIMIT_DEFAULT) all end - base.limit(limit).in_default_contributor_order + base.preloaded_for_record_loading.limit(limit).in_default_contributor_order + end + + def preloaded_for_record_loading + super.includes(:role, :contributor) end # @param ["asc", "desc"] direction # @return [ActiveRecord::Relation] def with_ordered_target_title(direction: "asc") - case Support::GlobalTypes::SimpleSortDirection[direction] - when "desc" - joins(target_association_name).merge(target_klass.order(title: :desc)) - else - joins(target_association_name).merge(target_klass.order(title: :asc)) - end + lazily_order(:target_title, direction) + end + + def prepare_order_for_target_title + joins(target_association_name) + end + + def target_title_order_column + target_klass.arel_table[:title] end # @api private diff --git a/app/models/concerns/entity_templating.rb b/app/models/concerns/entity_templating.rb index e15468d5..b961c189 100644 --- a/app/models/concerns/entity_templating.rb +++ b/app/models/concerns/entity_templating.rb @@ -26,69 +26,107 @@ module EntityTemplating has_many :template_instance_digests, as: :entity, inverse_of: :entity, class_name: "Templates::InstanceDigest", dependent: :delete_all has_many :hero_layout_definitions, + -> { for_preloading }, class_name: "Layouts::HeroDefinition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :hero_layout_instance, + -> { for_preloading }, class_name: "Layouts::HeroInstance", as: :entity, inverse_of: :entity, dependent: :destroy has_many :list_item_layout_definitions, + -> { for_preloading }, class_name: "Layouts::ListItemDefinition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :list_item_layout_instance, + -> { for_preloading }, class_name: "Layouts::ListItemInstance", as: :entity, inverse_of: :entity, dependent: :destroy has_many :main_layout_definitions, + -> { for_preloading }, class_name: "Layouts::MainDefinition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :main_layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", as: :entity, inverse_of: :entity, dependent: :destroy has_many :navigation_layout_definitions, + -> { for_preloading }, class_name: "Layouts::NavigationDefinition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :navigation_layout_instance, + -> { for_preloading }, class_name: "Layouts::NavigationInstance", as: :entity, inverse_of: :entity, dependent: :destroy has_many :metadata_layout_definitions, + -> { for_preloading }, class_name: "Layouts::MetadataDefinition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :metadata_layout_instance, + -> { for_preloading }, class_name: "Layouts::MetadataInstance", as: :entity, inverse_of: :entity, dependent: :destroy has_many :supplementary_layout_definitions, + -> { for_preloading }, class_name: "Layouts::SupplementaryDefinition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :supplementary_layout_instance, + -> { for_preloading }, class_name: "Layouts::SupplementaryInstance", as: :entity, inverse_of: :entity, dependent: :destroy end + + LAYOUT_DEPENDENCIES = { + hero_layout_instance: [], + list_item_layout_instance: [], + main_layout_instance: [], + navigation_layout_instance: [], + metadata_layout_instance: [], + supplementary_layout_instance: [], + }.freeze + + module ClassMethods + # @return [ActiveRecord::Relation] + def preloaded_for_layout_rendering + if record_preloading_active? + preloaded_for_record_loading.includes(LAYOUT_DEPENDENCIES) + else + all + end + end + end end diff --git a/app/models/concerns/hierarchical_entity.rb b/app/models/concerns/hierarchical_entity.rb index a11fb73b..ad33f28e 100644 --- a/app/models/concerns/hierarchical_entity.rb +++ b/app/models/concerns/hierarchical_entity.rb @@ -28,6 +28,7 @@ module HierarchicalEntity include ManualListSource include ManualListTarget include ModifiedByAdmin + include RecordPreloading include Renderable include Submittable include SyncsEntities @@ -60,7 +61,7 @@ module HierarchicalEntity has_many_readonly :assigned_users, through: :contextual_permissions, source: :user - has_many_readonly :entity_breadcrumbs, -> { preload(:crumb).order(depth: :asc) }, as: :entity + has_many_readonly :entity_breadcrumbs, -> { includes(crumb: [:schema_definition, { schema_version: :schema_definition }]).order(depth: :asc) }, as: :entity has_many_readonly :entity_breadcrumb_entries, class_name: "EntityBreadcrumb", as: :crumb has_many_readonly :entity_derived_ancestors, -> { in_default_order.preload(:ancestor) }, as: :entity, inverse_of: :entity @@ -460,4 +461,28 @@ def set_temporary_auth_path! end # @!endgroup + + COMMON_DEPENDENCIES = { + schema_definition: [], + schema_version: [], + }.freeze + + FULL_DEPENDENCIES = COMMON_DEPENDENCIES.merge( + attributions: [], + community: COMMON_DEPENDENCIES, + contributions: [], + entity_breadcrumbs: [], + entity_visibility: [], + named_ancestors: [], + named_variable_dates: [], + parent: COMMON_DEPENDENCIES + ).freeze + + module ClassMethods + def preloaded_for_record_loading + dependencies = self == Community ? COMMON_DEPENDENCIES : FULL_DEPENDENCIES + + super.includes(dependencies) + end + end end diff --git a/app/models/concerns/record_preloading.rb b/app/models/concerns/record_preloading.rb new file mode 100644 index 00000000..56a50aff --- /dev/null +++ b/app/models/concerns/record_preloading.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module RecordPreloading + extend ActiveSupport::Concern + + module ClassMethods + # @note Intended for use in association scopes. + # + # @return [ActiveRecord::Relation] + def for_preloading + if record_preloading_active? + preloaded_for_record_loading + else + all + end + end + + # @abstract Override in classes + # @return [ActiveRecord::Relation] + def preloaded_for_record_loading + all.preload_associations_lazily + end + + def record_preloading_active? + MeruConfig.record_preloading_enabled? && Support::Requests::Current.active? + end + end +end diff --git a/app/models/concerns/skips_preloading.rb b/app/models/concerns/skips_preloading.rb new file mode 100644 index 00000000..23b282df --- /dev/null +++ b/app/models/concerns/skips_preloading.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +# Concern to disable automatic preloading of associations for a model. +# +# This is important for certain **huge** views that should never be +# eager loaded in their entirety. +module SkipsPreloading + extend ActiveSupport::Concern + + included do + default_scope { skip_preloading! } + end +end diff --git a/app/models/concerns/template_instance.rb b/app/models/concerns/template_instance.rb index 9b22a4a9..c1f9e1fe 100644 --- a/app/models/concerns/template_instance.rb +++ b/app/models/concerns/template_instance.rb @@ -7,6 +7,7 @@ module TemplateInstance include HasLayoutKind include HasTemplateKind include Renderable + include RecordPreloading included do self.filter_attributes = [:config, :slots] @@ -40,9 +41,7 @@ module TemplateInstance # Boolean complement of {#force_show?}. # # Used when calculating {#hidden} to bypass the hide logic. - def calculate_allow_hide? - !force_show? - end + def calculate_allow_hide? = !force_show? # For most templates, it is just derived from from {#hidden_by_empty_slots}. # @@ -50,21 +49,15 @@ def calculate_allow_hide? # @api private # @see #hidden? # @return [Boolean] - def calculate_hidden - hidden_by_empty_slots? - end + def calculate_hidden = hidden_by_empty_slots? # @api private # @abstract # @return [Boolean] - def force_show - false - end + def force_show = false # @see #force_show - def force_show? - force_show - end + def force_show? = force_show # @see Templates::Instances::PostProcessor # @return [Dry::Monads::Success(TemplateInstance)] @@ -102,5 +95,17 @@ module ClassMethods def policy_class TemplateInstancePolicy end + + def preloaded_for_record_loading + super.includes( + entity: HierarchicalEntity::FULL_DEPENDENCIES, + next_siblings: [], + prev_siblings: [], + layout_instance: [], + template_definition: [ + :layout_definition, + ], + ) + end end end diff --git a/app/models/contextual_permission.rb b/app/models/contextual_permission.rb index 088eae75..506306c4 100644 --- a/app/models/contextual_permission.rb +++ b/app/models/contextual_permission.rb @@ -6,6 +6,7 @@ class ContextualPermission < ApplicationRecord include ScopesForHierarchical include ScopesForUser + include SkipsPreloading include TimestampScopes include View diff --git a/app/models/contextual_single_permission.rb b/app/models/contextual_single_permission.rb index 0fb2e6a1..2452395a 100644 --- a/app/models/contextual_single_permission.rb +++ b/app/models/contextual_single_permission.rb @@ -9,6 +9,7 @@ class ContextualSinglePermission < ApplicationRecord include ScopesForHierarchical include ScopesForUser + include SkipsPreloading include View self.primary_key = [:user_id, :hierarchical_type, :hierarchical_id, :permission_id] diff --git a/app/models/item.rb b/app/models/item.rb index 1a9386ae..ab151a36 100644 --- a/app/models/item.rb +++ b/app/models/item.rb @@ -20,8 +20,8 @@ class Item < ApplicationRecord belongs_to :collection, inverse_of: :items - has_many :attributions, -> { in_default_order }, class_name: "ItemAttribution", dependent: :delete_all, inverse_of: :item - has_many :contributions, class_name: "ItemContribution", dependent: :destroy, inverse_of: :item + has_many :attributions, -> { for_preloading.in_default_order }, class_name: "ItemAttribution", dependent: :delete_all, inverse_of: :item + has_many :contributions, -> { for_preloading }, class_name: "ItemContribution", dependent: :destroy, inverse_of: :item has_many :contributors, through: :contributions has_one :community, through: :collection @@ -36,14 +36,10 @@ class Item < ApplicationRecord validates :identifier, uniqueness: { scope: %i[collection_id parent_id] } # @return [:item] - def entity_kind - :item - end + def entity_kind = :item # @return [Collection] - def hierarchical_parent - collection - end + def hierarchical_parent = collection # @return [ActiveRecord::Relation] the child items of this item def items = children diff --git a/app/models/layouts/hero_definition.rb b/app/models/layouts/hero_definition.rb index bdd72681..411b84d1 100644 --- a/app/models/layouts/hero_definition.rb +++ b/app/models/layouts/hero_definition.rb @@ -18,19 +18,21 @@ class HeroDefinition < ApplicationRecord belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: "Layouts::HeroInstance", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :hero_template_definitions, + -> { for_preloading }, class_name: "Templates::HeroDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_one :template_definition, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::HeroDefinition", dependent: :destroy, inverse_of: :layout_definition, diff --git a/app/models/layouts/hero_instance.rb b/app/models/layouts/hero_instance.rb index 3cefa969..585c5367 100644 --- a/app/models/layouts/hero_instance.rb +++ b/app/models/layouts/hero_instance.rb @@ -17,18 +17,34 @@ class HeroInstance < ApplicationRecord belongs_to :layout_definition, class_name: "Layouts::HeroDefinition", inverse_of: :layout_instances has_many :hero_template_instances, + -> { for_preloading }, class_name: "Templates::HeroInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :template_instance, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::HeroInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + hero_template_instances: [], + template_instance: [], + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/app/models/layouts/list_item_definition.rb b/app/models/layouts/list_item_definition.rb index db4aa622..f43bb485 100644 --- a/app/models/layouts/list_item_definition.rb +++ b/app/models/layouts/list_item_definition.rb @@ -18,19 +18,21 @@ class ListItemDefinition < ApplicationRecord belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: "Layouts::ListItemInstance", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :list_item_template_definitions, + -> { for_preloading }, class_name: "Templates::ListItemDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_one :template_definition, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::ListItemDefinition", dependent: :destroy, inverse_of: :layout_definition, diff --git a/app/models/layouts/list_item_instance.rb b/app/models/layouts/list_item_instance.rb index 1a08fb6b..af787bd2 100644 --- a/app/models/layouts/list_item_instance.rb +++ b/app/models/layouts/list_item_instance.rb @@ -17,18 +17,34 @@ class ListItemInstance < ApplicationRecord belongs_to :layout_definition, class_name: "Layouts::ListItemDefinition", inverse_of: :layout_instances has_many :list_item_template_instances, + -> { for_preloading }, class_name: "Templates::ListItemInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :template_instance, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::ListItemInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + list_item_template_instances: [], + template_instance: [], + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/app/models/layouts/main_definition.rb b/app/models/layouts/main_definition.rb index 30a8778a..5c03e779 100644 --- a/app/models/layouts/main_definition.rb +++ b/app/models/layouts/main_definition.rb @@ -24,48 +24,56 @@ class MainDefinition < ApplicationRecord belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: "Layouts::MainInstance", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :blurb_template_definitions, + -> { for_preloading }, class_name: "Templates::BlurbDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :detail_template_definitions, + -> { for_preloading }, class_name: "Templates::DetailDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :descendant_list_template_definitions, + -> { for_preloading }, class_name: "Templates::DescendantListDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :link_list_template_definitions, + -> { for_preloading }, class_name: "Templates::LinkListDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :page_list_template_definitions, + -> { for_preloading }, class_name: "Templates::PageListDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :contributor_list_template_definitions, + -> { for_preloading }, class_name: "Templates::ContributorListDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :ordering_template_definitions, + -> { for_preloading }, class_name: "Templates::OrderingDefinition", dependent: :destroy, inverse_of: :layout_definition, diff --git a/app/models/layouts/main_instance.rb b/app/models/layouts/main_instance.rb index a0460676..56532e2e 100644 --- a/app/models/layouts/main_instance.rb +++ b/app/models/layouts/main_instance.rb @@ -23,47 +23,74 @@ class MainInstance < ApplicationRecord belongs_to :layout_definition, class_name: "Layouts::MainDefinition", inverse_of: :layout_instances has_many :blurb_template_instances, + -> { for_preloading }, class_name: "Templates::BlurbInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_many :detail_template_instances, + -> { for_preloading }, class_name: "Templates::DetailInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_many :descendant_list_template_instances, + -> { for_preloading }, class_name: "Templates::DescendantListInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_many :link_list_template_instances, + -> { for_preloading }, class_name: "Templates::LinkListInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_many :page_list_template_instances, + -> { for_preloading }, class_name: "Templates::PageListInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_many :contributor_list_template_instances, + -> { for_preloading }, class_name: "Templates::ContributorListInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_many :ordering_template_instances, + -> { for_preloading }, class_name: "Templates::OrderingInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + blurb_template_instances: [], + detail_template_instances: [], + descendant_list_template_instances: [], + link_list_template_instances: [], + page_list_template_instances: [], + contributor_list_template_instances: [], + ordering_template_instances: [], + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/app/models/layouts/metadata_definition.rb b/app/models/layouts/metadata_definition.rb index 185c2d4a..ca47c0b4 100644 --- a/app/models/layouts/metadata_definition.rb +++ b/app/models/layouts/metadata_definition.rb @@ -18,19 +18,21 @@ class MetadataDefinition < ApplicationRecord belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: "Layouts::MetadataInstance", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :metadata_template_definitions, + -> { for_preloading }, class_name: "Templates::MetadataDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_one :template_definition, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::MetadataDefinition", dependent: :destroy, inverse_of: :layout_definition, diff --git a/app/models/layouts/metadata_instance.rb b/app/models/layouts/metadata_instance.rb index b04c0f99..aa158ff9 100644 --- a/app/models/layouts/metadata_instance.rb +++ b/app/models/layouts/metadata_instance.rb @@ -17,18 +17,34 @@ class MetadataInstance < ApplicationRecord belongs_to :layout_definition, class_name: "Layouts::MetadataDefinition", inverse_of: :layout_instances has_many :metadata_template_instances, + -> { for_preloading }, class_name: "Templates::MetadataInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :template_instance, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::MetadataInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + metadata_template_instances: [], + template_instance: [], + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/app/models/layouts/navigation_definition.rb b/app/models/layouts/navigation_definition.rb index 284ced36..fc725208 100644 --- a/app/models/layouts/navigation_definition.rb +++ b/app/models/layouts/navigation_definition.rb @@ -18,19 +18,21 @@ class NavigationDefinition < ApplicationRecord belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: "Layouts::NavigationInstance", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :navigation_template_definitions, + -> { for_preloading }, class_name: "Templates::NavigationDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_one :template_definition, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::NavigationDefinition", dependent: :destroy, inverse_of: :layout_definition, diff --git a/app/models/layouts/navigation_instance.rb b/app/models/layouts/navigation_instance.rb index e094cf23..93524e99 100644 --- a/app/models/layouts/navigation_instance.rb +++ b/app/models/layouts/navigation_instance.rb @@ -17,18 +17,34 @@ class NavigationInstance < ApplicationRecord belongs_to :layout_definition, class_name: "Layouts::NavigationDefinition", inverse_of: :layout_instances has_many :navigation_template_instances, + -> { for_preloading }, class_name: "Templates::NavigationInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :template_instance, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::NavigationInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + navigation_template_instances: [], + template_instance: [], + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/app/models/layouts/supplementary_definition.rb b/app/models/layouts/supplementary_definition.rb index 66ab2478..b5c99e43 100644 --- a/app/models/layouts/supplementary_definition.rb +++ b/app/models/layouts/supplementary_definition.rb @@ -18,19 +18,21 @@ class SupplementaryDefinition < ApplicationRecord belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: "Layouts::SupplementaryInstance", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_many :supplementary_template_definitions, + -> { for_preloading }, class_name: "Templates::SupplementaryDefinition", dependent: :destroy, inverse_of: :layout_definition, foreign_key: :layout_definition_id has_one :template_definition, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::SupplementaryDefinition", dependent: :destroy, inverse_of: :layout_definition, diff --git a/app/models/layouts/supplementary_instance.rb b/app/models/layouts/supplementary_instance.rb index 51f3eb79..a0d392f6 100644 --- a/app/models/layouts/supplementary_instance.rb +++ b/app/models/layouts/supplementary_instance.rb @@ -17,18 +17,34 @@ class SupplementaryInstance < ApplicationRecord belongs_to :layout_definition, class_name: "Layouts::SupplementaryDefinition", inverse_of: :layout_instances has_many :supplementary_template_instances, + -> { for_preloading }, class_name: "Templates::SupplementaryInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :template_instance, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::SupplementaryInstance", dependent: :destroy, inverse_of: :layout_instance, foreign_key: :layout_instance_id has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + supplementary_template_instances: [], + template_instance: [], + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/app/models/ordering_entry.rb b/app/models/ordering_entry.rb index 116fb528..c319de07 100644 --- a/app/models/ordering_entry.rb +++ b/app/models/ordering_entry.rb @@ -3,6 +3,7 @@ # A join model connecting a sorted {HierarchicalEntity entity} with an {Ordering}. class OrderingEntry < ApplicationRecord include EntityAdjacent + include SkipsPreloading include TimestampScopes ENTITY_TUPLE = %i[entity_type entity_id].freeze diff --git a/app/models/templates/blurb_definition.rb b/app/models/templates/blurb_definition.rb index 7a2ad3db..1395e0a6 100644 --- a/app/models/templates/blurb_definition.rb +++ b/app/models/templates/blurb_definition.rb @@ -23,10 +23,12 @@ class BlurbDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::BlurbDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :blurb_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::BlurbInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/blurb_instance.rb b/app/models/templates/blurb_instance.rb index d8db059e..a89141c1 100644 --- a/app/models/templates/blurb_instance.rb +++ b/app/models/templates/blurb_instance.rb @@ -18,10 +18,12 @@ class BlurbInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::BlurbTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :blurb_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::BlurbDefinition", inverse_of: :template_instances diff --git a/app/models/templates/contributor_list_definition.rb b/app/models/templates/contributor_list_definition.rb index 534c37d5..8c1c1ca2 100644 --- a/app/models/templates/contributor_list_definition.rb +++ b/app/models/templates/contributor_list_definition.rb @@ -26,10 +26,12 @@ class ContributorListDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::ContributorListDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :contributor_list_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::ContributorListInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/contributor_list_instance.rb b/app/models/templates/contributor_list_instance.rb index 00de72d7..0bf20778 100644 --- a/app/models/templates/contributor_list_instance.rb +++ b/app/models/templates/contributor_list_instance.rb @@ -19,10 +19,12 @@ class ContributorListInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::ContributorListTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :contributor_list_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::ContributorListDefinition", inverse_of: :template_instances diff --git a/app/models/templates/descendant_list_definition.rb b/app/models/templates/descendant_list_definition.rb index 18058bbf..b27f8ae4 100644 --- a/app/models/templates/descendant_list_definition.rb +++ b/app/models/templates/descendant_list_definition.rb @@ -35,10 +35,12 @@ class DescendantListDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::DescendantListDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :descendant_list_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::DescendantListInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/descendant_list_instance.rb b/app/models/templates/descendant_list_instance.rb index 259c74a1..b94ef27e 100644 --- a/app/models/templates/descendant_list_instance.rb +++ b/app/models/templates/descendant_list_instance.rb @@ -20,10 +20,12 @@ class DescendantListInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::DescendantListTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :descendant_list_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::DescendantListDefinition", inverse_of: :template_instances diff --git a/app/models/templates/detail_definition.rb b/app/models/templates/detail_definition.rb index b97a91c3..943031ca 100644 --- a/app/models/templates/detail_definition.rb +++ b/app/models/templates/detail_definition.rb @@ -25,10 +25,12 @@ class DetailDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::DetailDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :detail_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::DetailInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/detail_instance.rb b/app/models/templates/detail_instance.rb index 36751749..13af495b 100644 --- a/app/models/templates/detail_instance.rb +++ b/app/models/templates/detail_instance.rb @@ -19,10 +19,12 @@ class DetailInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::DetailTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :detail_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::DetailDefinition", inverse_of: :template_instances diff --git a/app/models/templates/hero_definition.rb b/app/models/templates/hero_definition.rb index a6d6f9ab..836c9f2c 100644 --- a/app/models/templates/hero_definition.rb +++ b/app/models/templates/hero_definition.rb @@ -21,10 +21,12 @@ class HeroDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::HeroDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::HeroDefinition", inverse_of: :hero_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::HeroInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/hero_instance.rb b/app/models/templates/hero_instance.rb index 9d404822..0cec49b1 100644 --- a/app/models/templates/hero_instance.rb +++ b/app/models/templates/hero_instance.rb @@ -18,10 +18,12 @@ class HeroInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::HeroTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::HeroInstance", inverse_of: :hero_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::HeroDefinition", inverse_of: :template_instances diff --git a/app/models/templates/link_list_definition.rb b/app/models/templates/link_list_definition.rb index 3741a4ee..9efc35fd 100644 --- a/app/models/templates/link_list_definition.rb +++ b/app/models/templates/link_list_definition.rb @@ -35,10 +35,12 @@ class LinkListDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::LinkListDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :link_list_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::LinkListInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/link_list_instance.rb b/app/models/templates/link_list_instance.rb index 43010a60..10c2aaa2 100644 --- a/app/models/templates/link_list_instance.rb +++ b/app/models/templates/link_list_instance.rb @@ -20,10 +20,12 @@ class LinkListInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::LinkListTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :link_list_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::LinkListDefinition", inverse_of: :template_instances diff --git a/app/models/templates/list_item_definition.rb b/app/models/templates/list_item_definition.rb index f506a095..633cb25c 100644 --- a/app/models/templates/list_item_definition.rb +++ b/app/models/templates/list_item_definition.rb @@ -27,10 +27,12 @@ class ListItemDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::ListItemDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::ListItemDefinition", inverse_of: :list_item_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::ListItemInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/list_item_instance.rb b/app/models/templates/list_item_instance.rb index dcfa9769..7f2a126a 100644 --- a/app/models/templates/list_item_instance.rb +++ b/app/models/templates/list_item_instance.rb @@ -20,10 +20,12 @@ class ListItemInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::ListItemTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::ListItemInstance", inverse_of: :list_item_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::ListItemDefinition", inverse_of: :template_instances diff --git a/app/models/templates/metadata_definition.rb b/app/models/templates/metadata_definition.rb index 19758f24..a15572e2 100644 --- a/app/models/templates/metadata_definition.rb +++ b/app/models/templates/metadata_definition.rb @@ -21,10 +21,12 @@ class MetadataDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::MetadataDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MetadataDefinition", inverse_of: :metadata_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::MetadataInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/metadata_instance.rb b/app/models/templates/metadata_instance.rb index 713109da..45e57b69 100644 --- a/app/models/templates/metadata_instance.rb +++ b/app/models/templates/metadata_instance.rb @@ -18,10 +18,12 @@ class MetadataInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::MetadataTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MetadataInstance", inverse_of: :metadata_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::MetadataDefinition", inverse_of: :template_instances diff --git a/app/models/templates/navigation_definition.rb b/app/models/templates/navigation_definition.rb index 40ee7945..0ade68a5 100644 --- a/app/models/templates/navigation_definition.rb +++ b/app/models/templates/navigation_definition.rb @@ -21,10 +21,12 @@ class NavigationDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::NavigationDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::NavigationDefinition", inverse_of: :navigation_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::NavigationInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/navigation_instance.rb b/app/models/templates/navigation_instance.rb index 8ca7eb52..cd32483f 100644 --- a/app/models/templates/navigation_instance.rb +++ b/app/models/templates/navigation_instance.rb @@ -18,10 +18,12 @@ class NavigationInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::NavigationTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::NavigationInstance", inverse_of: :navigation_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::NavigationDefinition", inverse_of: :template_instances diff --git a/app/models/templates/ordering_definition.rb b/app/models/templates/ordering_definition.rb index f98f1617..8686a35c 100644 --- a/app/models/templates/ordering_definition.rb +++ b/app/models/templates/ordering_definition.rb @@ -24,10 +24,12 @@ class OrderingDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::OrderingDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :ordering_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::OrderingInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/ordering_instance.rb b/app/models/templates/ordering_instance.rb index 7cd23709..bfc5aa8b 100644 --- a/app/models/templates/ordering_instance.rb +++ b/app/models/templates/ordering_instance.rb @@ -19,10 +19,12 @@ class OrderingInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::OrderingTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :ordering_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::OrderingDefinition", inverse_of: :template_instances diff --git a/app/models/templates/page_list_definition.rb b/app/models/templates/page_list_definition.rb index 62c54114..2c18460f 100644 --- a/app/models/templates/page_list_definition.rb +++ b/app/models/templates/page_list_definition.rb @@ -23,10 +23,12 @@ class PageListDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::PageListDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::MainDefinition", inverse_of: :page_list_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::PageListInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/page_list_instance.rb b/app/models/templates/page_list_instance.rb index b3846e3e..c7321a91 100644 --- a/app/models/templates/page_list_instance.rb +++ b/app/models/templates/page_list_instance.rb @@ -18,10 +18,12 @@ class PageListInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::PageListTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::MainInstance", inverse_of: :page_list_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::PageListDefinition", inverse_of: :template_instances diff --git a/app/models/templates/supplementary_definition.rb b/app/models/templates/supplementary_definition.rb index 3eae3d8d..4cf7c901 100644 --- a/app/models/templates/supplementary_definition.rb +++ b/app/models/templates/supplementary_definition.rb @@ -21,10 +21,12 @@ class SupplementaryDefinition < ApplicationRecord attribute :slots, ::Templates::SlotMappings::SupplementaryDefinitionSlots.to_type belongs_to :layout_definition, + -> { for_preloading }, class_name: "Layouts::SupplementaryDefinition", inverse_of: :supplementary_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: "Templates::SupplementaryInstance", dependent: :destroy, inverse_of: :template_definition, diff --git a/app/models/templates/supplementary_instance.rb b/app/models/templates/supplementary_instance.rb index 7086a6cb..37f267b2 100644 --- a/app/models/templates/supplementary_instance.rb +++ b/app/models/templates/supplementary_instance.rb @@ -18,10 +18,12 @@ class SupplementaryInstance < ApplicationRecord graphql_node_type_name "::Types::Templates::SupplementaryTemplateInstanceType" belongs_to :layout_instance, + -> { for_preloading }, class_name: "Layouts::SupplementaryInstance", inverse_of: :supplementary_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: "Templates::SupplementaryDefinition", inverse_of: :template_instances diff --git a/app/services/entities/layouts_checker.rb b/app/services/entities/layouts_checker.rb index 68677f27..a786465f 100644 --- a/app/services/entities/layouts_checker.rb +++ b/app/services/entities/layouts_checker.rb @@ -24,6 +24,8 @@ def call yield prepare! yield check! + + yield preload! end Success Entities::LayoutsProxy.new(entity:, rendered:) @@ -32,7 +34,7 @@ def call end wrapped_hook! def prepare - @entity = original_entity.class.find original_entity.id + @entity = original_entity.class.find(original_entity.id).skip_preload @rendered = false @@ -54,5 +56,11 @@ def call super end + + wrapped_hook! def preload + @entity = original_entity.class.preloaded_for_layout_rendering.find(original_entity.id) + + super + end end end diff --git a/app/services/entities/layouts_proxy.rb b/app/services/entities/layouts_proxy.rb index ab753e27..983b0773 100644 --- a/app/services/entities/layouts_proxy.rb +++ b/app/services/entities/layouts_proxy.rb @@ -11,5 +11,10 @@ class LayoutsProxy < Support::FlexibleStruct attribute :rendered, Entities::Types::Bool.default(false) delegate_missing_to :entity + + # Unwraps the record for use in GraphQL association loading. + # + # @return [HierarchicalEntity] + def unwrap_record = entity end end diff --git a/app/services/resolvers/abstract_resolver.rb b/app/services/resolvers/abstract_resolver.rb index 34895879..c446c4bd 100644 --- a/app/services/resolvers/abstract_resolver.rb +++ b/app/services/resolvers/abstract_resolver.rb @@ -277,17 +277,18 @@ def implicit_authorization_target = model_klass # @param [{ Symbol => Object }] options # @return [ActiveRecord::Relation] def normalize_scope_option(scope: nil, **options) - # :nocov: - # We may want to skip authorization in some cases. - return scope unless applies_policy_scope? - # :nocov: - config = self.class.config base_scope = scope || (config[:scope] && instance_eval(&config[:scope])) + # :nocov: + base_scope = base_scope.preloaded_for_record_loading if MeruConfig.record_preloading_enabled? && base_scope.respond_to?(:preloaded_for_record_loading) + + # We may want to skip authorization in some cases. + return base_scope unless applies_policy_scope? + # :nocov: + # This is necessary to avoid a namespace conflict with `Action` / `ActionPolicy`. - # For some reason, `ActionPolicy` obfuscates the `policy_class` on relations. with = implicit_authorization_target.try(:policy_class) authorized(base_scope.all, with:) diff --git a/app/services/templates/contribution_list.rb b/app/services/templates/contribution_list.rb index 8426f470..06613758 100644 --- a/app/services/templates/contribution_list.rb +++ b/app/services/templates/contribution_list.rb @@ -38,8 +38,6 @@ class ContributionList def initialize(...) super - load_list_item_layouts! - # Future-proofing @valid_contributions = contributions @@ -47,16 +45,5 @@ def initialize(...) @empty = valid_contributions.blank? end - - private - - # @return [void] - def load_list_item_layouts! - associations = [:contributor] - - preloader = ActiveRecord::Associations::Preloader.new(records:, associations:) - - preloader.call - end end end diff --git a/app/services/templates/instances/contribution_list_fetcher.rb b/app/services/templates/instances/contribution_list_fetcher.rb index fe2487e2..2ee4a95a 100644 --- a/app/services/templates/instances/contribution_list_fetcher.rb +++ b/app/services/templates/instances/contribution_list_fetcher.rb @@ -42,7 +42,7 @@ def call end wrapped_hook! def resolve - @contributions = @base_scope.for_template_list(filter:, limit:) + @contributions = @base_scope.for_template_list(filter:, limit:).to_a super end diff --git a/app/services/templates/instances/has_contribution_list.rb b/app/services/templates/instances/has_contribution_list.rb index 871f539f..116aaedb 100644 --- a/app/services/templates/instances/has_contribution_list.rb +++ b/app/services/templates/instances/has_contribution_list.rb @@ -13,9 +13,7 @@ module HasContributionList extend DefinesMonadicOperation # @return [Templates::ContributionList] - def contribution_list - fetch_contribution_list! - end + def contribution_list = fetch_contribution_list! monadic_operation! def fetch_contribution_list call_operation("templates.instances.fetch_contribution_list", self) diff --git a/app/services/templates/instances/has_entity_list.rb b/app/services/templates/instances/has_entity_list.rb index cfeb3ba1..a0094de0 100644 --- a/app/services/templates/instances/has_entity_list.rb +++ b/app/services/templates/instances/has_entity_list.rb @@ -12,6 +12,7 @@ module HasEntityList extend ActiveSupport::Concern extend DefinesMonadicOperation + include RecordPreloading include ::TemplateInstance include Templates::Instances::HasSelectionSource @@ -44,6 +45,22 @@ def calculate_hidden def clear_entity_list! @entity_list = nil end + + ENTITY_LIST_DEPENDENCIES = { + cached_entity_list: { + cached_entity_list_items: { + entity: HierarchicalEntity::FULL_DEPENDENCIES, + list_item_layout_instance: [], + }, + list_item_layout_instances: [], + } + }.freeze + + module ClassMethods + def preloaded_for_record_loading + super.includes(ENTITY_LIST_DEPENDENCIES) + end + end end end end diff --git a/app/services/templates/instances/has_ordering_pair.rb b/app/services/templates/instances/has_ordering_pair.rb index e0890134..a43248db 100644 --- a/app/services/templates/instances/has_ordering_pair.rb +++ b/app/services/templates/instances/has_ordering_pair.rb @@ -12,6 +12,7 @@ module HasOrderingPair extend ActiveSupport::Concern extend DefinesMonadicOperation + include RecordPreloading include Templates::Instances::HasSelectionSource included do @@ -55,6 +56,25 @@ def ordering_pair monadic_operation! def resolve_ordering_source template_definition.resolve_ordering_source_for(entity) end + + ORDERING_PAIR_DEPENDENCIES = { + ordering: [], + ordering_entry: { + entity: HierarchicalEntity::FULL_DEPENDENCIES, + }, + next_sibling: { + entity: HierarchicalEntity::FULL_DEPENDENCIES, + }, + prev_sibling: { + entity: HierarchicalEntity::FULL_DEPENDENCIES, + }, + }.freeze + + module ClassMethods + def preloaded_for_record_loading + super.includes(ORDERING_PAIR_DEPENDENCIES) + end + end end end end diff --git a/app/services/templates/instances/has_see_all_ordering.rb b/app/services/templates/instances/has_see_all_ordering.rb index fc65b827..27c5a6de 100644 --- a/app/services/templates/instances/has_see_all_ordering.rb +++ b/app/services/templates/instances/has_see_all_ordering.rb @@ -8,6 +8,8 @@ module HasSeeAllOrdering extend ActiveSupport::Concern extend DefinesMonadicOperation + include RecordPreloading + included do belongs_to_readonly :see_all_ordering, class_name: "Ordering", optional: true @@ -19,6 +21,12 @@ module HasSeeAllOrdering def infer_see_all_ordering! self.see_all_ordering = entity.ordering(template_definition.see_all_ordering_identifier) end + + module ClassMethods + def preloaded_for_record_loading + super.includes(:see_all_ordering) + end + end end end end diff --git a/config/configs/meru_config.rb b/config/configs/meru_config.rb index fb9563c4..a19ae800 100644 --- a/config/configs/meru_config.rb +++ b/config/configs/meru_config.rb @@ -2,10 +2,16 @@ class MeruConfig < ApplicationConfig attr_config tenant_id: "meru", tenant_name: "Meru", include_testing_schemas: false, serialize_rendering: false, - experimental_dataloader: false, pool_size: 20, log_slow_fields: false, validate_graphql_query: true + experimental_dataloader: false, pool_size: 20, log_slow_fields: false, validate_graphql_query: true, + disable_layout_preloading: false, disable_record_preloading: false attr_config :new_relic_license_key coerce_types experimental_dataloader: :boolean, include_testing_schemas: :boolean, serialize_rendering: :boolean, - pool_size: :integer, log_slow_fields: :boolean, validate_graphql_query: :boolean + pool_size: :integer, log_slow_fields: :boolean, validate_graphql_query: :boolean, disable_layout_preloading: :boolean, + disable_record_preloading: :boolean + + def record_preloading_enabled? = !disable_record_preloading? + + def layout_preloading_enabled? = !disable_layout_preloading? end diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile index f6bd06a2..b8647829 100644 --- a/docker/production/Dockerfile +++ b/docker/production/Dockerfile @@ -57,7 +57,7 @@ ENV RUBY_GC_HEAP_2_INIT_SLOTS=455808 ENV RUBY_GC_HEAP_3_INIT_SLOTS=19968 ENV RUBY_GC_HEAP_4_INIT_SLOTS=9265 -RUN gem update --system && gem install bundler:4.0.7 +RUN gem update --system && gem install bundler:4.0.8 COPY Gemfile Gemfile.lock ./ diff --git a/lib/generators/layout/templates/definition.rb.tt b/lib/generators/layout/templates/definition.rb.tt index 0744f8e4..a993793a 100644 --- a/lib/generators/layout/templates/definition.rb.tt +++ b/lib/generators/layout/templates/definition.rb.tt @@ -23,6 +23,7 @@ module Layouts belongs_to :entity, polymorphic: true, optional: true has_many :layout_instances, + -> { for_preloading }, class_name: <%= layout_record.instance_klass_name.inspect %>, dependent: :destroy, inverse_of: :layout_definition, @@ -30,6 +31,7 @@ module Layouts <%- layout_record.templates.each do |template| -%> has_many :<%= template.template_kind %>_template_definitions, + -> { for_preloading }, class_name: <%= template.definition_klass_name.inspect %>, dependent: :destroy, inverse_of: :layout_definition, @@ -38,7 +40,7 @@ module Layouts <%- if has_single_template? -%> has_one :template_definition, - -> { in_recent_order }, + -> { for_preloading }, class_name: <%= layout_record.templates.first.definition_klass_name.inspect %>, dependent: :destroy, inverse_of: :layout_definition, diff --git a/lib/generators/layout/templates/instance.rb.tt b/lib/generators/layout/templates/instance.rb.tt index 50267abf..5abada7d 100644 --- a/lib/generators/layout/templates/instance.rb.tt +++ b/lib/generators/layout/templates/instance.rb.tt @@ -23,6 +23,7 @@ module Layouts <%- layout_record.templates.each do |template| -%> has_many :<%= template.template_kind %>_template_instances, + -> { for_preloading }, class_name: <%= template.instance_klass_name.inspect %>, dependent: :destroy, inverse_of: :layout_instance, @@ -31,7 +32,7 @@ module Layouts <%- if has_single_template? -%> has_one :template_instance, - -> { in_recent_order }, + -> { for_preloading }, class_name: "Templates::<%= template_kinds.first.classify %>Instance", dependent: :destroy, inverse_of: :layout_instance, @@ -39,5 +40,24 @@ module Layouts <%- end -%> has_one :schema_version, through: :layout_definition + + # Dependencies that get preloaded in GraphQL. + # Layouts and templates have a pretty large tree, but relying + # on typical dataloading just won't work for our purposes. + LAYOUT_INSTANCE_DEPENDENCIES = { + layout_definition: [], + <%- layout_record.templates.each do |template| -%> + <%= template.template_kind %>_template_instances: [], + <%- end -%> + <%- if has_single_template? -%> + template_instance: [], + <%- end -%> + }.freeze + + class << self + def preloaded_for_record_loading + super.includes(LAYOUT_INSTANCE_DEPENDENCIES) + end + end end end diff --git a/lib/generators/layouts_and_templates/templates/entity_concern.rb.tt b/lib/generators/layouts_and_templates/templates/entity_concern.rb.tt index 47103d3f..1e2b1ec9 100644 --- a/lib/generators/layouts_and_templates/templates/entity_concern.rb.tt +++ b/lib/generators/layouts_and_templates/templates/entity_concern.rb.tt @@ -30,15 +30,35 @@ module EntityTemplating <%- layout_kinds.each do |layout_kind| -%> has_many :<%= layout_kind %>_layout_definitions, + -> { for_preloading }, class_name: "Layouts::<%= layout_kind.classify %>Definition", as: :entity, + inverse_of: :entity, dependent: :destroy has_one :<%= layout_kind %>_layout_instance, + -> { for_preloading }, class_name: "Layouts::<%= layout_kind.classify %>Instance", as: :entity, inverse_of: :entity, dependent: :destroy <%- end -%> end + + LAYOUT_DEPENDENCIES = { + <%- layout_kinds.each do |layout_kind| -%> + <%= layout_kind %>_layout_instance: [], + <%- end -%> + }.freeze + + module ClassMethods + # @return [ActiveRecord::Relation] + def preloaded_for_layout_rendering + if record_preloading_active? + preloaded_for_record_loading.includes(LAYOUT_DEPENDENCIES) + else + all + end + end + end end diff --git a/lib/generators/template/templates/definition.rb.tt b/lib/generators/template/templates/definition.rb.tt index 70ab0ba7..b188ef15 100644 --- a/lib/generators/template/templates/definition.rb.tt +++ b/lib/generators/template/templates/definition.rb.tt @@ -34,10 +34,12 @@ module Templates <%= definition_model_declarations(indent: 4) %> belongs_to :layout_definition, + -> { for_preloading }, class_name: <%= layout_record.definition_klass_name.inspect %>, inverse_of: :<%= template_kind %>_template_definitions has_many :template_instances, + -> { for_preloading }, class_name: <%= template_record.instance_klass_name.inspect %>, dependent: :destroy, inverse_of: :template_definition, diff --git a/lib/generators/template/templates/instance.rb.tt b/lib/generators/template/templates/instance.rb.tt index bbceaa53..71c70705 100644 --- a/lib/generators/template/templates/instance.rb.tt +++ b/lib/generators/template/templates/instance.rb.tt @@ -36,10 +36,12 @@ module Templates graphql_node_type_name "::<%= template_record.gql_instance_klass_name %>" belongs_to :layout_instance, + -> { for_preloading }, class_name: <%= layout_record.instance_klass_name.inspect %>, inverse_of: :<%= template_kind %>_template_instances belongs_to :template_definition, + -> { for_preloading }, class_name: <%= template_record.definition_klass_name.inspect %>, inverse_of: :template_instances diff --git a/lib/support/lib/graphql_api/association_helpers.rb b/lib/support/lib/graphql_api/association_helpers.rb index af6fbf44..93bbcce2 100644 --- a/lib/support/lib/graphql_api/association_helpers.rb +++ b/lib/support/lib/graphql_api/association_helpers.rb @@ -11,11 +11,15 @@ module AssociationHelpers # @param [ApplicationRecord, Object] record # @return [Promise, Object] def association_loader_for(association, klass: object&.class, record: object) + record = record.unwrap_record if record.respond_to?(:unwrap_record) + if !record.kind_of?(ActiveRecord::Base) # Handle AnonymousUser, other proxies record.try(association) elsif record.association(association).loaded? record.public_send(association) + elsif MeruConfig.record_preloading_enabled? + record.__send__(association) elsif MeruConfig.experimental_dataloader? # :nocov: dataloader.with(GraphQL::Dataloader::ActiveRecordAssociationSource, association).load(record) diff --git a/lib/support/lib/graphql_api/enhancements/abstract_object.rb b/lib/support/lib/graphql_api/enhancements/abstract_object.rb index dc78fee7..6bea4daa 100644 --- a/lib/support/lib/graphql_api/enhancements/abstract_object.rb +++ b/lib/support/lib/graphql_api/enhancements/abstract_object.rb @@ -52,6 +52,15 @@ def rails_cache_key_for(value) value.cache_key end end + + module ClassMethods + # @!parse [ruby] + # extend ::Support::GraphQLAPI::DisableAuthChecks + # @return [void] + def disable_auth_checks! + extend Support::GraphQLAPI::DisableAuthChecks + end + end end end end diff --git a/lib/support/lib/loaders/record_loader.rb b/lib/support/lib/loaders/record_loader.rb index 80f61596..8eb0bbd8 100644 --- a/lib/support/lib/loaders/record_loader.rb +++ b/lib/support/lib/loaders/record_loader.rb @@ -42,6 +42,8 @@ def query(keys) scope = scope.order @order end + scope = scope.preloaded_for_record_loading if MeruConfig.record_preloading_enabled? && scope.respond_to?(:preloaded_for_record_loading) + scope.where(@find_by => keys) end end From b1bed6e5768d8d7dfb34a7698eb135c070268eda Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Sun, 15 Mar 2026 03:30:32 -0700 Subject: [PATCH 05/10] [C] Upgrade to Rails 8 --- Gemfile | 10 +- Gemfile.lock | 142 +++++++++--------- bin/rubocop | 3 + bin/setup | 13 +- config/application.rb | 1 - config/boot.rb | 3 +- config/environments/development.rb | 11 +- config/environments/production.rb | 71 +++++---- config/environments/test.rb | 14 +- .../initializers/filter_parameter_logging.rb | 6 +- config/initializers/inflections.rb | 6 +- .../new_framework_defaults_7_2.rb | 2 +- .../new_framework_defaults_8_0.rb | 30 ++++ 13 files changed, 166 insertions(+), 146 deletions(-) create mode 100644 config/initializers/new_framework_defaults_8_0.rb diff --git a/Gemfile b/Gemfile index 2903c67d..5b7fd655 100644 --- a/Gemfile +++ b/Gemfile @@ -13,17 +13,17 @@ gem "sorted_set", "~> 1.1" gem "stringio", "~> 3.2" gem "syslog", "~> 0.4", require: false -gem "activesupport", "~> 7.2" -gem "activerecord", "~> 7.2" +gem "activesupport", "~> 8.0" +gem "activerecord", "~> 8.0" # Rails / database -gem "rails", "7.2.3" +gem "rails", "8.0.4" gem "pg", "~> 1.6.2" gem "activerecord-cte", "~> 0.4.0" gem "active_record_distinct_on", "1.9.0" gem "after_commit_everywhere", "~> 1.6.0" gem "async", "~> 2.34" -gem "closure_tree", "~> 9.2" +gem "closure_tree", "~> 9.6" gem "frozen_record", "~> 0.27.1" gem "ar_lazy_preload" gem "pghero", "~> 3.7.0" @@ -122,7 +122,7 @@ gem "statesman", "~> 13.1" gem "strip_attributes", "~> 2.0.0" gem "tomlib", "~> 0.7.2" gem "validate_url", "~> 1.0.15" -gem "with_advisory_lock", "~> 7.0.2" +gem "with_advisory_lock", "~> 7.5" # File processing gem "aws-sdk-s3", "~> 1.214" diff --git a/Gemfile.lock b/Gemfile.lock index 9cf02b32..513651b5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,72 +18,69 @@ GEM action_policy (~> 0.7) graphql (>= 1.9.3) ruby-next-core (~> 1.0) - actioncable (7.2.3) - actionpack (= 7.2.3) - activesupport (= 7.2.3) + actioncable (8.0.4) + actionpack (= 8.0.4) + activesupport (= 8.0.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.2.3) - actionpack (= 7.2.3) - activejob (= 7.2.3) - activerecord (= 7.2.3) - activestorage (= 7.2.3) - activesupport (= 7.2.3) + actionmailbox (8.0.4) + actionpack (= 8.0.4) + activejob (= 8.0.4) + activerecord (= 8.0.4) + activestorage (= 8.0.4) + activesupport (= 8.0.4) mail (>= 2.8.0) - actionmailer (7.2.3) - actionpack (= 7.2.3) - actionview (= 7.2.3) - activejob (= 7.2.3) - activesupport (= 7.2.3) + actionmailer (8.0.4) + actionpack (= 8.0.4) + actionview (= 8.0.4) + activejob (= 8.0.4) + activesupport (= 8.0.4) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.3) - actionview (= 7.2.3) - activesupport (= 7.2.3) - cgi + actionpack (8.0.4) + actionview (= 8.0.4) + activesupport (= 8.0.4) nokogiri (>= 1.8.5) - racc - rack (>= 2.2.4, < 3.3) + rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (7.2.3) - actionpack (= 7.2.3) - activerecord (= 7.2.3) - activestorage (= 7.2.3) - activesupport (= 7.2.3) + actiontext (8.0.4) + actionpack (= 8.0.4) + activerecord (= 8.0.4) + activestorage (= 8.0.4) + activesupport (= 8.0.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.2.3) - activesupport (= 7.2.3) + actionview (8.0.4) + activesupport (= 8.0.4) builder (~> 3.1) - cgi erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) active_record_distinct_on (1.9.0) activerecord (>= 6.1) - activejob (7.2.3) - activesupport (= 7.2.3) + activejob (8.0.4) + activesupport (= 8.0.4) globalid (>= 0.3.6) - activemodel (7.2.3) - activesupport (= 7.2.3) - activerecord (7.2.3) - activemodel (= 7.2.3) - activesupport (= 7.2.3) + activemodel (8.0.4) + activesupport (= 8.0.4) + activerecord (8.0.4) + activemodel (= 8.0.4) + activesupport (= 8.0.4) timeout (>= 0.4.0) activerecord-cte (0.4.0) activerecord - activestorage (7.2.3) - actionpack (= 7.2.3) - activejob (= 7.2.3) - activerecord (= 7.2.3) - activesupport (= 7.2.3) + activestorage (8.0.4) + actionpack (= 8.0.4) + activejob (= 8.0.4) + activerecord (= 8.0.4) + activesupport (= 8.0.4) marcel (~> 1.0) - activesupport (7.2.3) + activesupport (8.0.4) base64 benchmark (>= 0.3) bigdecimal @@ -95,6 +92,7 @@ GEM minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) acts_as_list (1.2.6) activerecord (>= 6.1) activesupport (>= 6.1) @@ -127,7 +125,7 @@ GEM attr_required (1.0.2) autotuner (1.1.0) aws-eventstream (1.4.0) - aws-partitions (1.1223.0) + aws-partitions (1.1226.0) aws-sdk-core (3.243.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -139,7 +137,7 @@ GEM aws-sdk-kms (1.122.0) aws-sdk-core (~> 3, >= 3.241.4) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.215.0) + aws-sdk-s3 (1.216.0) aws-sdk-core (~> 3, >= 3.243.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -158,10 +156,9 @@ GEM bootsnap (1.23.0) msgpack (~> 1.2) builder (3.3.0) - cgi (0.5.1) - closure_tree (9.3.0) + closure_tree (9.6.1) activerecord (>= 7.2.0) - with_advisory_lock (>= 7.0.0) + with_advisory_lock (>= 7.5.0) zeitwerk (~> 2.7) coderay (1.1.3) concurrent-ruby (1.3.6) @@ -554,7 +551,7 @@ GEM faraday (< 3) faraday-follow_redirects (>= 0.3.0, < 2) rexml - oj (3.16.15) + oj (3.16.16) bigdecimal (>= 3.0) ostruct (>= 0.2) openid_connect (2.3.1) @@ -636,20 +633,20 @@ GEM rack (>= 1.3) rackup (2.3.1) rack (>= 3) - rails (7.2.3) - actioncable (= 7.2.3) - actionmailbox (= 7.2.3) - actionmailer (= 7.2.3) - actionpack (= 7.2.3) - actiontext (= 7.2.3) - actionview (= 7.2.3) - activejob (= 7.2.3) - activemodel (= 7.2.3) - activerecord (= 7.2.3) - activestorage (= 7.2.3) - activesupport (= 7.2.3) + rails (8.0.4) + actioncable (= 8.0.4) + actionmailbox (= 8.0.4) + actionmailer (= 8.0.4) + actionpack (= 8.0.4) + actiontext (= 8.0.4) + actionview (= 8.0.4) + activejob (= 8.0.4) + activemodel (= 8.0.4) + activerecord (= 8.0.4) + activestorage (= 8.0.4) + activesupport (= 8.0.4) bundler (>= 1.15.0) - railties (= 7.2.3) + railties (= 8.0.4) rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest @@ -657,10 +654,9 @@ GEM rails-html-sanitizer (1.7.0) loofah (~> 2.25) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (7.2.3) - actionpack (= 7.2.3) - activesupport (= 7.2.3) - cgi + railties (8.0.4) + actionpack (= 8.0.4) + activesupport (= 8.0.4) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -696,7 +692,7 @@ GEM reverse_markdown (3.0.2) nokogiri rexml (3.4.4) - roda (3.101.0) + roda (3.102.0) rack rspec (3.13.2) rspec-core (~> 3.13.0) @@ -733,9 +729,9 @@ GEM rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.48.0) + rubocop-ast (1.49.1) parser (>= 3.3.7.2) - prism (~> 1.4) + prism (~> 1.7) rubocop-factory_bot (2.27.1) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) @@ -865,7 +861,7 @@ GEM base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - with_advisory_lock (7.0.2) + with_advisory_lock (7.5.0) activerecord (>= 7.2) zeitwerk (>= 2.7) yard (0.9.38) @@ -896,9 +892,9 @@ DEPENDENCIES action_policy (~> 0.7) action_policy-graphql (~> 0.6) active_record_distinct_on (= 1.9.0) - activerecord (~> 7.2) + activerecord (~> 8.0) activerecord-cte (~> 0.4.0) - activesupport (~> 7.2) + activesupport (~> 8.0) acts_as_list (~> 1.2.6) addressable (~> 2.8) after_commit_everywhere (~> 1.6.0) @@ -911,7 +907,7 @@ DEPENDENCIES aws-sdk-s3 (~> 1.214) bcrypt (~> 3.1) bootsnap (>= 1.19.0) - closure_tree (~> 9.2) + closure_tree (~> 9.6) connection_pool (~> 2.5.5) content_disposition (~> 1.0.0) csv (~> 3.3.5) @@ -989,7 +985,7 @@ DEPENDENCIES pry-rails (~> 0.3.11) rack (~> 3.2.4) rack-cors (~> 3.0.0) - rails (= 7.2.3) + rails (= 8.0.4) redcarpet (~> 3.6.0) redis (~> 5.4.1) redis-objects (>= 2.0) @@ -1032,7 +1028,7 @@ DEPENDENCIES validate_url (~> 1.0.15) vernier webmock (= 3.26.1) - with_advisory_lock (~> 7.0.2) + with_advisory_lock (~> 7.5) yard (~> 0.9.34) yard-activerecord (~> 0.0.16) yard-activesupport-concern (~> 0.0.1) diff --git a/bin/rubocop b/bin/rubocop index d0c48829..4d2a778d 100755 --- a/bin/rubocop +++ b/bin/rubocop @@ -26,4 +26,7 @@ end require "rubygems" require "bundler/setup" +# explicit rubocop config increases performance slightly while avoiding config confusion. +ARGV.unshift("--config", File.expand_path("../.rubocop.yml", __dir__)) + load Gem.bin_path("rubocop", "rubocop") diff --git a/bin/setup b/bin/setup index cfa20199..be3db3c0 100755 --- a/bin/setup +++ b/bin/setup @@ -2,7 +2,6 @@ require "fileutils" APP_ROOT = File.expand_path("..", __dir__) -APP_NAME = "meru-api" def system!(*args) system(*args, exception: true) @@ -14,7 +13,6 @@ FileUtils.chdir APP_ROOT do # Add necessary setup steps to this file. puts "== Installing dependencies ==" - system! "gem install bundler --conservative" system("bundle check") || system!("bundle install") # puts "\n== Copying sample files ==" @@ -28,10 +26,9 @@ FileUtils.chdir APP_ROOT do puts "\n== Removing old logs and tempfiles ==" system! "bin/rails log:clear tmp:clear" - puts "\n== Restarting application server ==" - system! "bin/rails restart" - - # puts "\n== Configuring puma-dev ==" - # system "ln -nfs #{APP_ROOT} ~/.puma-dev/#{APP_NAME}" - # system "curl -Is https://#{APP_NAME}.test/up | head -n 1" + unless ARGV.include?("--skip-server") + puts "\n== Starting development server ==" + STDOUT.flush # flush the output before exec(2) so that it displays + exec "bin/dev" + end end diff --git a/config/application.rb b/config/application.rb index 0559b988..b9ddafd8 100644 --- a/config/application.rb +++ b/config/application.rb @@ -14,7 +14,6 @@ # require "action_text/engine" require "action_view/railtie" require "action_cable/engine" -# require "sprockets/railtie" # require "rails/test_unit/railtie" require "good_job/engine" diff --git a/config/boot.rb b/config/boot.rb index eb61db0a..bf492238 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) +ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../Gemfile", __dir__) Warning[:experimental] = false # Hush. @@ -14,5 +14,4 @@ module Jats end require "bundler/setup" # Set up gems listed in the Gemfile. -require "logger" # # Fix concurrent-ruby removing logger dependency which Rails itself does not have require "bootsnap/setup" # Speed up boot time by caching expensive operations. diff --git a/config/environments/development.rb b/config/environments/development.rb index d45925aa..0240ae31 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -5,9 +5,7 @@ Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. - # In the development environment your application's code is reloaded any time - # it changes. This slows down response time but is perfect for development - # since you don't have to restart the web server when you make code changes. + # Make code changes take effect immediately without server restart. config.enable_reloading = true # Do not eager load code on boot. @@ -31,10 +29,10 @@ # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false - # Disable caching for Action Mailer templates even if Action Controller - # caching is enabled. + # Make template changes take effect immediately. config.action_mailer.perform_caching = false + # Set localhost to be used by links generated in mailer templates. config.action_mailer.default_url_options = { host: "localhost", port: 3000 } # Print deprecation notices to the Rails logger. @@ -52,6 +50,9 @@ # Highlight code that triggered database queries in logs. config.active_record.verbose_query_logs = true + # Append comments with runtime information tags to SQL queries in logs. + config.active_record.query_log_tags_enabled = true + # Highlight code that enqueued background job in logs. config.active_job.verbose_enqueue_logs = true diff --git a/config/environments/production.rb b/config/environments/production.rb index 67f872f2..ebe7678e 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -8,55 +8,46 @@ # Code is not reloaded between requests. config.enable_reloading = false - # Eager load code on boot. This eager loads most of Rails and - # your application in memory, allowing both threaded web servers - # and those relying on copy on write to perform better. - # Rake tasks automatically ignore this option for performance. + # Eager load code on boot for better performance and memory savings (ignored by Rake tasks). config.eager_load = true - # Full error reports are disabled and caching is turned on. + # Full error reports are disabled. config.consider_all_requests_local = false + # Cache assets for far-future expiry since they are all digest stamped. + config.public_file_server.headers = { "cache-control" => "public, max-age=#{1.year.to_i}" } + # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). config.require_master_key = true - # Disable serving static files from `public/`, relying on NGINX/Apache to do so instead. - config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present? - # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.asset_host = "http://assets.example.com" - # Specifies the header that your server uses for sending files. - # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache - # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX - - # Mount Action Cable outside main process or domain. - # config.action_cable.mount_path = nil - # config.action_cable.url = "wss://example.com/cable" - # config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ] - # Assume all access to the app is happening through a SSL-terminating reverse proxy. - # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies. config.assume_ssl = true # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. config.force_ssl = true - # Log to STDOUT by default - config.logger = ActiveSupport::Logger.new($stdout) - .tap { |logger| logger.formatter = ::Logger::Formatter.new } - .then { |logger| ActiveSupport::TaggedLogging.new(logger) } + # Skip http-to-https redirect for the default health check endpoint. + config.ssl_options = { redirect: { exclude: ->(request) { request.path == "/up" } } } - # Prepend all log lines with the following tags. + # Log to STDOUT with the current request id as a default log tag. config.log_tags = [ :request_id ] + config.logger = ActiveSupport::TaggedLogging.logger(STDOUT) - # "info" includes generic and useful information about system operation, but avoids logging too much - # information to avoid inadvertent exposure of personally identifiable information (PII). If you - # want to log everything, set the level to "debug". + # Change to "debug" to log everything (including potentially personally-identifiable information!) config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info") - # Use a different cache store in production. + # Prevent health checks from clogging up the logs. + config.silence_healthcheck_path = "/up" + + # Don't log any deprecations. + config.active_support.report_deprecations = false + + # Replace the default in-process memory cache store with a durable alternative. + # config.cache_store = :mem_cache_store config.cache_store = :redis_cache_store, { expires_in: 1.month, namespace: "rcache", @@ -65,25 +56,30 @@ ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE }, } - # Use a real queuing backend for Active Job (and separate queues per environment). - # config.active_job.queue_name_prefix = "meru_api_production" + # Replace the default in-process and non-durable queuing backend for Active Job. + # config.active_job.queue_adapter = :resque config.active_job.queue_adapter = :good_job - # Disable caching for Action Mailer templates even if Action Controller - # caching is enabled. - config.action_mailer.perform_caching = false - # Ignore bad email addresses and do not raise email delivery errors. # Set this to true and configure the email server for immediate delivery to raise delivery errors. # config.action_mailer.raise_delivery_errors = false + # Set host to be used by links generated in mailer templates. + config.action_mailer.default_url_options = { host: "example.com" } + + # Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit. + # config.action_mailer.smtp_settings = { + # user_name: Rails.application.credentials.dig(:smtp, :user_name), + # password: Rails.application.credentials.dig(:smtp, :password), + # address: "smtp.example.com", + # port: 587, + # authentication: :plain + # } + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to # the I18n.default_locale when a translation cannot be found). config.i18n.fallbacks = true - # Don't log any deprecations. - config.active_support.report_deprecations = false - # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false @@ -95,6 +91,7 @@ # "example.com", # Allow requests from example.com # /.*\.example\.com/ # Allow requests from subdomains like `www.example.com` # ] + # # Skip DNS rebinding protection for the default health check endpoint. - # config.host_authorization = { exclude: ->(request) { request.path == "/up" } } + config.host_authorization = { exclude: ->(request) { request.path == "/up" } } end diff --git a/config/environments/test.rb b/config/environments/test.rb index 01fa5005..55b4d3f4 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -19,15 +19,12 @@ # loading is working properly before deploying your code. config.eager_load = true - # Configure public file server for tests with Cache-Control for performance. + # Configure public file server for tests with cache-control for performance. config.public_file_server.enabled = true - config.public_file_server.headers = { - "Cache-Control" => "public, max-age=#{1.hour.to_i}" - } + config.public_file_server.headers = { "cache-control" => "public, max-age=3600" } - # Show full error reports and disable caching. + # Show full error reports. config.consider_all_requests_local = true - config.action_controller.perform_caching = false config.cache_store = :null_store # Render exception templates for rescuable exceptions and raise for other exceptions. @@ -45,9 +42,8 @@ # ActionMailer::Base.deliveries array. config.action_mailer.delivery_method = :test - # Unlike controllers, the mailer instance doesn't have any context about the - # incoming request so you'll need to provide the :host parameter yourself. - config.action_mailer.default_url_options = { host: "www.example.com" } + # Set host to be used by links generated in mailer templates. + config.action_mailer.default_url_options = { host: "example.com" } # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb index ec2d95cd..d72ed2d0 100644 --- a/config/initializers/filter_parameter_logging.rb +++ b/config/initializers/filter_parameter_logging.rb @@ -2,9 +2,11 @@ # Be sure to restart your server when you modify this file. -# Configure sensitive parameters which will be filtered from the log file. +# Configure parameters to be partially matched (e.g. passw matches password) and filtered from the log file. +# Use this to limit dissemination of sensitive information. +# See the ActiveSupport::ParameterFilter documentation for supported notations and behaviors. Rails.application.config.filter_parameters += [ - :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn, + :passw, :email, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn, :cvv, :cvc, :query, :raw_source, :raw_metadata_source, :xml_source, :xml_metadata_source, diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb index 75818687..b7bc5abb 100644 --- a/config/initializers/inflections.rb +++ b/config/initializers/inflections.rb @@ -6,9 +6,9 @@ # are locale specific, and you may define rules for as many different # locales as you wish. All of these examples are active by default: # ActiveSupport::Inflector.inflections(:en) do |inflect| -# inflect.plural /^(ox)$/i, '\1en' -# inflect.singular /^(ox)en/i, '\1' -# inflect.irregular 'person', 'people' +# inflect.plural /^(ox)$/i, "\\1en" +# inflect.singular /^(ox)en/i, "\\1" +# inflect.irregular "person", "people" # inflect.uncountable %w( fish sheep ) # end diff --git a/config/initializers/new_framework_defaults_7_2.rb b/config/initializers/new_framework_defaults_7_2.rb index 0241aaaa..a8607b59 100644 --- a/config/initializers/new_framework_defaults_7_2.rb +++ b/config/initializers/new_framework_defaults_7_2.rb @@ -34,7 +34,7 @@ # backends that use the same database as Active Record as a queue, hence they # don't need this feature. #++ -Rails.application.config.active_job.enqueue_after_transaction_commit = :default +# Rails.application.config.active_job.enqueue_after_transaction_commit = :default ### # Adds image/webp to the list of content types Active Storage considers as an image diff --git a/config/initializers/new_framework_defaults_8_0.rb b/config/initializers/new_framework_defaults_8_0.rb new file mode 100644 index 00000000..93d81ef9 --- /dev/null +++ b/config/initializers/new_framework_defaults_8_0.rb @@ -0,0 +1,30 @@ +# Be sure to restart your server when you modify this file. +# +# This file eases your Rails 8.0 framework defaults upgrade. +# +# Uncomment each configuration one by one to switch to the new default. +# Once your application is ready to run with all new defaults, you can remove +# this file and set the `config.load_defaults` to `8.0`. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. +# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html + +### +# Specifies whether `to_time` methods preserve the UTC offset of their receivers or preserves the timezone. +# If set to `:zone`, `to_time` methods will use the timezone of their receivers. +# If set to `:offset`, `to_time` methods will use the UTC offset. +# If `false`, `to_time` methods will convert to the local system UTC offset instead. +#++ +Rails.application.config.active_support.to_time_preserves_timezone = :zone + +### +# When both `If-Modified-Since` and `If-None-Match` are provided by the client +# only consider `If-None-Match` as specified by RFC 7232 Section 6. +# If set to `false` both conditions need to be satisfied. +#++ +# Rails.application.config.action_dispatch.strict_freshness = true + +### +# Set `Regexp.timeout` to `1`s by default to improve security over Regexp Denial-of-Service attacks. +#++ +# Regexp.timeout = 1 From 6d4e3b74c4a19d6af759688f575a83b71f1a0137 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Sun, 15 Mar 2026 05:17:16 -0700 Subject: [PATCH 06/10] [C] Update to rails 8.1 * Remove ActiveSupport::Configurable (gone in 8.2) * Update rubocop & related lints --- .rubocop.yml | 93 ++++++++- Gemfile | 18 +- Gemfile.lock | 152 +++++++------- app/models/concerns/scopes_for_user.rb | 2 +- .../image_attachments/generate_derivatives.rb | 4 +- app/services/filtering/filter_scope.rb | 4 +- .../harvesting/protocols/oai/context.rb | 6 +- .../image_attachments/derivative_wrapper.rb | 2 +- .../image_attachments/original_wrapper.rb | 2 +- .../metadata/shared/xsd/base64_binary.rb | 2 +- app/services/mutation_operations/base.rb | 4 +- app/services/roles/composes_grids.rb | 54 +++-- app/services/roles/grid.rb | 12 +- .../properties/references/collected.rb | 2 +- .../schemas/properties/references/model.rb | 14 +- .../schemas/properties/scalar/base.rb | 197 ++++++++---------- .../schemas/properties/scalar/boolean.rb | 2 +- .../schemas/properties/scalar/date.rb | 2 +- .../schemas/properties/scalar/email.rb | 6 +- .../schemas/properties/scalar/float.rb | 2 +- .../schemas/properties/scalar/full_text.rb | 2 +- .../schemas/properties/scalar/integer.rb | 2 +- .../schemas/properties/scalar/multiselect.rb | 2 +- .../schemas/properties/scalar/select.rb | 2 +- .../schemas/properties/scalar/tags.rb | 2 +- .../schemas/properties/scalar/timestamp.rb | 2 +- .../schemas/properties/scalar/unknown.rb | 2 +- app/services/schemas/properties/scalar/url.rb | 2 +- .../properties/scalar/variable_date.rb | 2 +- app/services/shared/string_backed_enums.rb | 8 +- app/services/tus_client.rb | 195 ----------------- bin/ci | 6 + bin/rubocop | 2 +- bin/setup | 1 + config/ci.rb | 17 ++ config/environments/development.rb | 3 + config/environments/production.rb | 6 +- config/initializers/cors.rb | 5 + .../new_framework_defaults_8_0.rb | 2 + .../new_framework_defaults_8_1.rb | 76 +++++++ lib/support/lib/migrations/quotable_ref.rb | 4 +- lib/support/lib/tus_client.rb | 5 +- lib/support/model_concerns/arel_helpers.rb | 2 - .../assigns_polymorphic_foreign_key.rb | 4 +- .../model_concerns/materialized_view.rb | 14 +- .../controlled_vocabularies/upsert_spec.rb | 6 +- .../controlled_vocabulary_upsert_spec.rb | 6 +- .../helpers/controlled_vocabulary_helpers.rb | 18 +- 48 files changed, 487 insertions(+), 491 deletions(-) delete mode 100644 app/services/tus_client.rb create mode 100755 bin/ci create mode 100644 config/ci.rb create mode 100644 config/initializers/new_framework_defaults_8_1.rb diff --git a/.rubocop.yml b/.rubocop.yml index 15577dbb..0b886e33 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -24,7 +24,7 @@ AllCops: - "tmp/**/*" - "vendor/**/*" SuggestExtensions: false - TargetRailsVersion: 7.2 + TargetRailsVersion: 8.1 TargetRubyVersion: 3.4 Bundler/OrderedGems: @@ -118,10 +118,10 @@ Layout/LineLength: Layout/MultilineMethodCallBraceLayout: Enabled: false -Layout/MultilineOperationIndentation: +Layout/MultilineMethodCallIndentation: Enabled: false -Layout/MultilineMethodCallIndentation: +Layout/MultilineOperationIndentation: Enabled: false Layout/SpaceAroundOperators: @@ -162,6 +162,9 @@ Lint/ConstantReassignment: Lint/CopDirectiveSyntax: Enabled: true +Lint/DataDefineOverride: + Enabled: true + Lint/DeprecatedConstants: Enabled: true @@ -270,6 +273,9 @@ Lint/UnexpectedBlockArity: Lint/UnmodifiedReduceAccumulator: Enabled: true +Lint/UnreachablePatternBranch: + Enabled: true + Lint/UnusedBlockArgument: Enabled: false @@ -359,10 +365,10 @@ Naming/ConstantName: Naming/MemoizedInstanceVariableName: Enabled: false -Naming/MethodParameterName: +Naming/MethodName: Enabled: false -Naming/MethodName: +Naming/MethodParameterName: Enabled: false Naming/PredicateMethod: @@ -457,6 +463,9 @@ Rails/FilePath: Rails/FindById: Enabled: true +Rails/FindByOrAssignmentMemoization: + Enabled: true + # False positives with other APIs that include a `where(...).each` paradigm. Rails/FindEach: Enabled: false @@ -464,6 +473,9 @@ Rails/FindEach: Rails/FreezeTime: Enabled: true +Rails/HttpStatusNameConsistency: + Enabled: true + Rails/I18nLazyLookup: Enabled: true @@ -494,6 +506,9 @@ Rails/MultipleRoutePaths: Rails/NegateInclude: Enabled: false +Rails/OrderArguments: + Enabled: true + Rails/Output: Exclude: - "lib/tasks/**/*.rake" @@ -511,6 +526,9 @@ Rails/Pluck: Rails/PluckInWhere: Enabled: false +Rails/RedirectBackOrTo: + Enabled: true + Rails/RedundantActiveRecordAllMethod: Enabled: false @@ -673,6 +691,9 @@ RSpec/InstanceVariable: RSpec/LeadingSubject: Enabled: false +RSpec/LeakyLocalVariable: + Enabled: true + RSpec/LetSetup: Enabled: false @@ -790,6 +811,9 @@ Style/ArgumentsForwarding: Style/ArrayIntersect: Enabled: true +Style/ArrayIntersectWithSingleElement: + Enabled: true + Style/ArrayJoin: Enabled: false @@ -850,6 +874,9 @@ Style/DocumentDynamicEvalDefinition: Style/DoubleNegation: Enabled: false +Style/EmptyClassDefinition: + Enabled: true + Style/EmptyHeredoc: Enabled: false @@ -880,6 +907,9 @@ Style/FileEmpty: Style/FileNull: Enabled: true +Style/FileOpen: + Enabled: true + Style/FileRead: Enabled: true @@ -917,12 +947,12 @@ Style/HashFetchChain: Style/HashSlice: Enabled: true -Style/IfWithBooleanLiteralBranches: - Enabled: true - Style/IfUnlessModifier: Enabled: false +Style/IfWithBooleanLiteralBranches: + Enabled: true + Style/InPatternThen: Enabled: true @@ -950,6 +980,9 @@ Style/MapCompactWithConditionalBlock: Style/MapIntoArray: Enabled: true +Style/MapJoin: + Enabled: true + Style/MapToHash: Enabled: true @@ -959,6 +992,9 @@ Style/MapToSet: Style/MinMaxComparison: Enabled: true +Style/ModuleMemberExistenceCheck: + Enabled: true + Style/MultilineBlockChain: Enabled: false @@ -971,6 +1007,9 @@ Style/MultilineInPatternThen: Style/NegatedIfElseCondition: Enabled: true +Style/NegativeArrayIndex: + Enabled: true + Style/NestedFileDirname: Enabled: true @@ -992,28 +1031,42 @@ Style/NumericPredicate: Style/ObjectThen: Enabled: true +Style/OneClassPerFile: + Enabled: true + Exclude: + - "config/**/*.rb" + Style/OpenStructUse: Enabled: true Style/OperatorMethodCall: Enabled: true -Style/QuotedSymbols: - Enabled: false - Style/ParallelAssignment: Enabled: false +Style/PartitionInsteadOfDoubleSelect: + Enabled: true + Style/PercentLiteralDelimiters: Enabled: false +Style/PredicateWithKind: + Enabled: true + # This clobbers unexpected method calls Style/PreferredHashMethods: Enabled: false +Style/QuotedSymbols: + Enabled: false + Style/RaiseArgs: Enabled: false +Style/ReduceToHash: + Enabled: true + Style/RedundantArgument: Enabled: true @@ -1059,6 +1112,9 @@ Style/RedundantInterpolationUnfreeze: Style/RedundantLineContinuation: Enabled: true +Style/RedundantMinMaxBy: + Enabled: true + Style/RedundantParentheses: Enabled: false @@ -1077,6 +1133,9 @@ Style/RedundantSelfAssignmentBranch: Style/RedundantStringEscape: Enabled: true +Style/RedundantStructKeywordInit: + Enabled: true + Style/RescueModifier: Enabled: true Exclude: @@ -1085,9 +1144,18 @@ Style/RescueModifier: Style/ReturnNilInPredicateMethodDefinition: Enabled: true +Style/ReverseFind: + Enabled: true + Style/SafeNavigationChainLength: Enabled: false +Style/SelectByKind: + Enabled: true + +Style/SelectByRange: + Enabled: true + Style/SelectByRegexp: Enabled: true @@ -1124,6 +1192,9 @@ Style/SymbolArray: Style/SymbolProc: Enabled: false +Style/TallyMethod: + Enabled: true + Style/TrailingCommaInArguments: Enabled: false diff --git a/Gemfile b/Gemfile index 5b7fd655..57cb33f3 100644 --- a/Gemfile +++ b/Gemfile @@ -13,11 +13,11 @@ gem "sorted_set", "~> 1.1" gem "stringio", "~> 3.2" gem "syslog", "~> 0.4", require: false -gem "activesupport", "~> 8.0" -gem "activerecord", "~> 8.0" +gem "activesupport", "~> 8.1" +gem "activerecord", "~> 8.1" # Rails / database -gem "rails", "8.0.4" +gem "rails", "~> 8.1.2" gem "pg", "~> 1.6.2" gem "activerecord-cte", "~> 0.4.0" gem "active_record_distinct_on", "1.9.0" @@ -83,7 +83,7 @@ gem "ahoy_matey", "~> 5.4.1" gem "anystyle", "~> 1.6.0" gem "anyway_config", "~> 2.8" gem "autotuner", "~> 1.1.0" -gem "connection_pool", "~> 2.5.5" +gem "connection_pool", "~> 3" gem "down", "~> 5.4.2" gem "faraday", "~> 2.14.1" gem "faraday-follow_redirects", "~> 0.5" @@ -163,11 +163,11 @@ end group :development do gem "listen", "~> 3.10" - gem "rubocop", "1.79.2", require: false - gem "rubocop-factory_bot", "2.27.1", require: false - gem "rubocop-rails", "2.32.0", require: false - gem "rubocop-rspec", "3.6.0", require: false - gem "rubocop-rspec_rails", "2.31.0", require: false + gem "rubocop", "~> 1.85", require: false + gem "rubocop-factory_bot", "~> 2.28", require: false + gem "rubocop-rails", "~> 2.34", require: false + gem "rubocop-rspec", "~> 3.9", require: false + gem "rubocop-rspec_rails", "~> 2.32", require: false end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 513651b5..8896d686 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,29 +18,31 @@ GEM action_policy (~> 0.7) graphql (>= 1.9.3) ruby-next-core (~> 1.0) - actioncable (8.0.4) - actionpack (= 8.0.4) - activesupport (= 8.0.4) + action_text-trix (2.1.17) + railties + actioncable (8.1.2) + actionpack (= 8.1.2) + activesupport (= 8.1.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.0.4) - actionpack (= 8.0.4) - activejob (= 8.0.4) - activerecord (= 8.0.4) - activestorage (= 8.0.4) - activesupport (= 8.0.4) + actionmailbox (8.1.2) + actionpack (= 8.1.2) + activejob (= 8.1.2) + activerecord (= 8.1.2) + activestorage (= 8.1.2) + activesupport (= 8.1.2) mail (>= 2.8.0) - actionmailer (8.0.4) - actionpack (= 8.0.4) - actionview (= 8.0.4) - activejob (= 8.0.4) - activesupport (= 8.0.4) + actionmailer (8.1.2) + actionpack (= 8.1.2) + actionview (= 8.1.2) + activejob (= 8.1.2) + activesupport (= 8.1.2) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.0.4) - actionview (= 8.0.4) - activesupport (= 8.0.4) + actionpack (8.1.2) + actionview (= 8.1.2) + activesupport (= 8.1.2) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -48,46 +50,47 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (8.0.4) - actionpack (= 8.0.4) - activerecord (= 8.0.4) - activestorage (= 8.0.4) - activesupport (= 8.0.4) + actiontext (8.1.2) + action_text-trix (~> 2.1.15) + actionpack (= 8.1.2) + activerecord (= 8.1.2) + activestorage (= 8.1.2) + activesupport (= 8.1.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.0.4) - activesupport (= 8.0.4) + actionview (8.1.2) + activesupport (= 8.1.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) active_record_distinct_on (1.9.0) activerecord (>= 6.1) - activejob (8.0.4) - activesupport (= 8.0.4) + activejob (8.1.2) + activesupport (= 8.1.2) globalid (>= 0.3.6) - activemodel (8.0.4) - activesupport (= 8.0.4) - activerecord (8.0.4) - activemodel (= 8.0.4) - activesupport (= 8.0.4) + activemodel (8.1.2) + activesupport (= 8.1.2) + activerecord (8.1.2) + activemodel (= 8.1.2) + activesupport (= 8.1.2) timeout (>= 0.4.0) activerecord-cte (0.4.0) activerecord - activestorage (8.0.4) - actionpack (= 8.0.4) - activejob (= 8.0.4) - activerecord (= 8.0.4) - activesupport (= 8.0.4) + activestorage (8.1.2) + actionpack (= 8.1.2) + activejob (= 8.1.2) + activerecord (= 8.1.2) + activesupport (= 8.1.2) marcel (~> 1.0) - activesupport (8.0.4) + activesupport (8.1.2) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) minitest (>= 5.1) securerandom (>= 0.3) @@ -145,7 +148,6 @@ GEM aws-eventstream (~> 1, >= 1.0.2) base64 (0.3.0) bcrypt (3.1.21) - benchmark (0.5.0) benchmark-ips (2.14.0) bibtex-ruby (6.2.0) latex-decode (~> 0.0) @@ -162,7 +164,7 @@ GEM zeitwerk (~> 2.7) coderay (1.1.3) concurrent-ruby (1.3.6) - connection_pool (2.5.5) + connection_pool (3.0.2) console (1.34.3) fiber-annotation fiber-local (~> 1.1) @@ -421,6 +423,9 @@ GEM bindata faraday (~> 2.0) faraday-follow_redirects + json-schema (6.2.0) + addressable (~> 2.8) + bigdecimal (>= 3.1, < 5) json_schemer (2.5.0) bigdecimal hana (~> 1.3) @@ -478,6 +483,8 @@ GEM net-smtp marcel (1.1.0) maxminddb (0.1.22) + mcp (0.8.0) + json-schema (>= 4.1) mediainfo (1.5.0) memory_profiler (1.1.0) method_source (1.1.0) @@ -633,20 +640,20 @@ GEM rack (>= 1.3) rackup (2.3.1) rack (>= 3) - rails (8.0.4) - actioncable (= 8.0.4) - actionmailbox (= 8.0.4) - actionmailer (= 8.0.4) - actionpack (= 8.0.4) - actiontext (= 8.0.4) - actionview (= 8.0.4) - activejob (= 8.0.4) - activemodel (= 8.0.4) - activerecord (= 8.0.4) - activestorage (= 8.0.4) - activesupport (= 8.0.4) + rails (8.1.2) + actioncable (= 8.1.2) + actionmailbox (= 8.1.2) + actionmailer (= 8.1.2) + actionpack (= 8.1.2) + actiontext (= 8.1.2) + actionview (= 8.1.2) + activejob (= 8.1.2) + activemodel (= 8.1.2) + activerecord (= 8.1.2) + activestorage (= 8.1.2) + activesupport (= 8.1.2) bundler (>= 1.15.0) - railties (= 8.0.4) + railties (= 8.1.2) rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest @@ -654,9 +661,9 @@ GEM rails-html-sanitizer (1.7.0) loofah (~> 2.25) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (8.0.4) - actionpack (= 8.0.4) - activesupport (= 8.0.4) + railties (8.1.2) + actionpack (= 8.1.2) + activesupport (= 8.1.2) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -718,33 +725,34 @@ GEM rspec-mocks (>= 3.13.0, < 5.0.0) rspec-support (>= 3.13.0, < 5.0.0) rspec-support (3.13.7) - rubocop (1.79.2) + rubocop (1.85.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) + mcp (~> 0.6) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.46.0, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.49.1) parser (>= 3.3.7.2) prism (~> 1.7) - rubocop-factory_bot (2.27.1) + rubocop-factory_bot (2.28.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) - rubocop-rails (2.32.0) + rubocop-rails (2.34.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.44.0, < 2.0) - rubocop-rspec (3.6.0) + rubocop-rspec (3.9.0) lint_roller (~> 1.1) - rubocop (~> 1.72, >= 1.72.1) - rubocop-rspec_rails (2.31.0) + rubocop (~> 1.81) + rubocop-rspec_rails (2.32.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) rubocop-rspec (~> 3.5) @@ -892,9 +900,9 @@ DEPENDENCIES action_policy (~> 0.7) action_policy-graphql (~> 0.6) active_record_distinct_on (= 1.9.0) - activerecord (~> 8.0) + activerecord (~> 8.1) activerecord-cte (~> 0.4.0) - activesupport (~> 8.0) + activesupport (~> 8.1) acts_as_list (~> 1.2.6) addressable (~> 2.8) after_commit_everywhere (~> 1.6.0) @@ -908,7 +916,7 @@ DEPENDENCIES bcrypt (~> 3.1) bootsnap (>= 1.19.0) closure_tree (~> 9.6) - connection_pool (~> 2.5.5) + connection_pool (~> 3) content_disposition (~> 1.0.0) csv (~> 3.3.5) database_cleaner-active_record (~> 2.2.2) @@ -985,7 +993,7 @@ DEPENDENCIES pry-rails (~> 0.3.11) rack (~> 3.2.4) rack-cors (~> 3.0.0) - rails (= 8.0.4) + rails (~> 8.1.2) redcarpet (~> 3.6.0) redis (~> 5.4.1) redis-objects (>= 2.0) @@ -995,11 +1003,11 @@ DEPENDENCIES rspec-collection_matchers (~> 1.2.0) rspec-json_expectations (~> 2.2.0) rspec-rails (~> 8.0) - rubocop (= 1.79.2) - rubocop-factory_bot (= 2.27.1) - rubocop-rails (= 2.32.0) - rubocop-rspec (= 3.6.0) - rubocop-rspec_rails (= 2.31.0) + rubocop (~> 1.85) + rubocop-factory_bot (~> 2.28) + rubocop-rails (~> 2.34) + rubocop-rspec (~> 3.9) + rubocop-rspec_rails (~> 2.32) ruby-limiter (~> 2.3.0) ruby-prof (~> 2.0) sanitize (~> 7.0.0) diff --git a/app/models/concerns/scopes_for_user.rb b/app/models/concerns/scopes_for_user.rb index 6a19e603..da320948 100644 --- a/app/models/concerns/scopes_for_user.rb +++ b/app/models/concerns/scopes_for_user.rb @@ -21,7 +21,7 @@ def for_anonymous_user def recognized_user?(user) return false if user.try(:anonymous?) return user.model == ::User if user.kind_of?(ActiveRecord::Relation) - return user.all? { |u| u.kind_of?(::User) } if user.kind_of?(Array) + return user.all?(::User) if user.kind_of?(Array) return true if Support::GlobalTypes::UUID.valid?(user) user.present? diff --git a/app/operations/image_attachments/generate_derivatives.rb b/app/operations/image_attachments/generate_derivatives.rb index c7e3c9bf..f636f2e6 100644 --- a/app/operations/image_attachments/generate_derivatives.rb +++ b/app/operations/image_attachments/generate_derivatives.rb @@ -16,8 +16,8 @@ def call(original, scope: :image) derivatives = ImageAttachments.each_scoped_size(scope).each_with_object({}) do |size, sizes| resized = vips.resize_to_limit(size.width, size.height) - sizes[size.name] = ImageAttachments.each_format.each_with_object({}) do |format, formats| - formats[format.to_sym] = resized.convert! format.to_s + sizes[size.name] = ImageAttachments.each_format.to_h do |format| + [format.to_sym, resized.convert!(format.to_s)] end end diff --git a/app/services/filtering/filter_scope.rb b/app/services/filtering/filter_scope.rb index ea63d18a..540dc860 100644 --- a/app/services/filtering/filter_scope.rb +++ b/app/services/filtering/filter_scope.rb @@ -58,8 +58,8 @@ def augment_ranking! end def filter_inputs - @filter_inputs ||= self.class.arguments.keys.each_with_object({}) do |key, h| - h[key.to_sym] = public_send(key) + @filter_inputs ||= self.class.arguments.keys.to_h do |key| + [key.to_sym, public_send(key)] end.compact end diff --git a/app/services/harvesting/protocols/oai/context.rb b/app/services/harvesting/protocols/oai/context.rb index 936a76c7..715ff857 100644 --- a/app/services/harvesting/protocols/oai/context.rb +++ b/app/services/harvesting/protocols/oai/context.rb @@ -17,7 +17,6 @@ def deleted?(record) # @param [OAI::Record] record # @return [Dry::Monads::Success(String)] def extract_raw_metadata(record) - # :nocov: metadata = record.metadata return Success(nil) if metadata.nil? @@ -25,11 +24,12 @@ def extract_raw_metadata(record) if metadata.elements.size == 1 Success metadata.elements.first.to_s elsif metadata.children.any? - Success metadata.children.map(&:to_s).join.strip + Success metadata.children.join.strip else + # :nocov: Failure[:invalid_metadata, "expected metadata to have at least 1 child"] + # :nocov: end - # :nocov: end # @param [OAI::Record] record diff --git a/app/services/image_attachments/derivative_wrapper.rb b/app/services/image_attachments/derivative_wrapper.rb index 00a242f6..c19187dd 100644 --- a/app/services/image_attachments/derivative_wrapper.rb +++ b/app/services/image_attachments/derivative_wrapper.rb @@ -32,7 +32,7 @@ def storage # @return [String, nil] def url(**url_options) - uploaded_file.url(**url_options) if uploaded_file.present? + (uploaded_file.presence&.url(**url_options)) end end end diff --git a/app/services/image_attachments/original_wrapper.rb b/app/services/image_attachments/original_wrapper.rb index ec709605..2ec38e3d 100644 --- a/app/services/image_attachments/original_wrapper.rb +++ b/app/services/image_attachments/original_wrapper.rb @@ -22,7 +22,7 @@ def storage # @return [String, nil] def url(**url_options) - uploaded_file.url(**url_options) if uploaded_file.present? + (uploaded_file.presence&.url(**url_options)) end end end diff --git a/app/services/metadata/shared/xsd/base64_binary.rb b/app/services/metadata/shared/xsd/base64_binary.rb index 1c469352..a46d9cbd 100644 --- a/app/services/metadata/shared/xsd/base64_binary.rb +++ b/app/services/metadata/shared/xsd/base64_binary.rb @@ -9,7 +9,7 @@ def cast(value) return nil if value.nil? value = super - pattern = %r{(?-mix:\A([A-Za-z0-9+\/]+={0,2}|\s)*\z)} + pattern = %r{(?-mix:\A([A-Za-z0-9+/]+={0,2}|\s)*\z)} raise Lutaml::Model::Type::InvalidValueError, "The value #{value} does not match the required pattern: #{pattern}" unless value.match?(pattern) value end diff --git a/app/services/mutation_operations/base.rb b/app/services/mutation_operations/base.rb index e9b276c0..7b152788 100644 --- a/app/services/mutation_operations/base.rb +++ b/app/services/mutation_operations/base.rb @@ -226,8 +226,8 @@ def upsert_model!(klass, attributes, unique_by:, attach_to: nil) # :nocov: result = klass.upsert(attributes, returning: unique_by, unique_by:) - conditions = unique_by.each_with_object({}) do |key, h| - h[key.to_sym] = result.first[key.to_s] + conditions = unique_by.to_h do |key| + [key.to_sym, result.first[key.to_s]] end model = klass.find_by! conditions diff --git a/app/services/roles/composes_grids.rb b/app/services/roles/composes_grids.rb index cbe9eb31..892933ef 100644 --- a/app/services/roles/composes_grids.rb +++ b/app/services/roles/composes_grids.rb @@ -4,18 +4,28 @@ module Roles module ComposesGrids extend ActiveSupport::Concern - include ActiveSupport::Configurable - included do + extend Dry::Core::ClassAttributes + include StoreModel::Model - delegate :scope, to: :class + # @!scope class + # @!attribute [r] permission_grids + # @return [{ Symbol => Roles::Grid }] + defines :permission_grids, type: Roles::Types::Hash + + defines :permission_names, type: Roles::Types::Array.of(Roles::Types::Symbol) - config.permission_grids = {} - config.permission_paths = [] + defines :scope_parent, type: Roles::Types::Class.optional - config_accessor :scope_parent - config_accessor :scope_name + defines :scope_name, type: Roles::Types::Symbol.optional + + permission_grids Dry::Core::Constants::EMPTY_HASH + permission_names Dry::Core::Constants::EMPTY_ARRAY + + scope_parent nil + + scope_name nil end # @param [#to_s] @@ -48,6 +58,9 @@ def permissions end end + # @return [String] + def scope = self.class.scope + private # @param [#to_s, nil] scope @@ -121,24 +134,14 @@ def grid(name, type = Roles::PermissionGrid, default: {}) define_grid! name, type:, default: default_value end - # @return [{ Symbol => Roles::Grid }] - def permission_grids - config.permission_grids - end - # @return [] - def permission_grid_names - config.permission_grids.keys - end + def permission_grid_names = permission_grids.keys - def permission_grid_types - config.permission_grids.values.pluck(:type) - end + # @return [] + def permission_grid_types = permission_grids.values.pluck(:type) # @return [String] - def scope - [scope_parent&.scope, scope_name].map(&:presence).compact.join(?.) - end + def scope = [scope_parent&.scope, scope_name].map(&:presence).compact.join(?.) private @@ -149,8 +152,15 @@ def calculate_available_actions end end + # @param [Symbol] name + # @param [Hash] options + # @option options [Class] :type + # @option options [Boolean, { Symbol => Boolean }] :default + # @return [void] def define_grid!(name, **options) - config.permission_grids = config.permission_grids.merge(name => options) + new_grids = permission_grids.merge(name => options) + + permission_grids new_grids.freeze recalculate_available_actions! end diff --git a/app/services/roles/grid.rb b/app/services/roles/grid.rb index 3e024f11..d82bc504 100644 --- a/app/services/roles/grid.rb +++ b/app/services/roles/grid.rb @@ -7,9 +7,7 @@ module Grid include Roles::ComposesGrids included do - config.permission_names = [].freeze - - config_accessor :permission_names, instance_reader: false, instance_writer: false + permission_names Dry::Core::Constants::EMPTY_ARRAY end INHERITED = Dry::Types["class"].constrained(lt: self) @@ -47,7 +45,9 @@ def permission(*names, default: false, **names_with_defaults) attribute name, :boolean, default: default_value - config.permission_names = [*config.permission_names, name].uniq.freeze + new_permission_names = [*permission_names, name].uniq.freeze + + permission_names new_permission_names end recalculate_available_actions! @@ -61,8 +61,8 @@ def with_scope(parent, scope) klass_name = "#{scope}_grid".classify Dry::Core::ClassBuilder.new(parent: self, name: klass_name, namespace: parent).call.tap do |klass| - klass.scope_parent = parent - klass.scope_name = scope + klass.scope_parent parent + klass.scope_name scope klass.permission_grids.each do |name, defn| klass.grid name, defn[:type], default: defn[:default] diff --git a/app/services/schemas/properties/references/collected.rb b/app/services/schemas/properties/references/collected.rb index 9d7994c9..ceda9172 100644 --- a/app/services/schemas/properties/references/collected.rb +++ b/app/services/schemas/properties/references/collected.rb @@ -16,7 +16,7 @@ module Collected MAX_SIZE = 20 included do - array! + array! :model? attribute :min_size, :integer, default: 0 diff --git a/app/services/schemas/properties/references/model.rb b/app/services/schemas/properties/references/model.rb index fe3f5746..8cd2baee 100644 --- a/app/services/schemas/properties/references/model.rb +++ b/app/services/schemas/properties/references/model.rb @@ -22,13 +22,11 @@ module Model # @return [] defines :model_types, type: ::Support::Models::Types::ModelClassList - model_types [] + model_types Dry::Core::Constants::EMPTY_ARRAY - delegate :model_types, to: :class + complex true - config.complex = true - - config.graphql_value_key = type_reference + graphql_value_key type_reference end def apply_schema_type_to(macro) @@ -49,7 +47,11 @@ def add_to_rules!(context) end end - class_methods do + # @see .model_types + # @return [] the list of models that this reference can refer to. + def model_types = self.class.model_types + + module ClassMethods # Declare a single {.model_types model type} that this type can refer to. # # @param [Class] model diff --git a/app/services/schemas/properties/scalar/base.rb b/app/services/schemas/properties/scalar/base.rb index 8e08b177..c5513f66 100644 --- a/app/services/schemas/properties/scalar/base.rb +++ b/app/services/schemas/properties/scalar/base.rb @@ -5,18 +5,22 @@ module Properties module Scalar # @abstract class Base < Schemas::Properties::BaseDefinition - include ActiveSupport::Configurable - extend Dry::Core::ClassAttributes - KNOWN_FUNCTIONS = %w[content metadata presentation sorting unspecified].freeze + KNOWN_FUNCTIONS = %w[ + content + metadata + presentation + sorting + unspecified + ].freeze # @!scope class # @!attribute [r] always_wide # Declare whether this property type should always be rendered wide, # irrespective of its configured {#wide} property. # @return [Boolean] - defines :always_wide, type: Dry::Types["bool"] + defines :always_wide, type: Schemas::Properties::Types::Bool always_wide false @@ -28,10 +32,20 @@ class Base < Schemas::Properties::BaseDefinition # When validating values, the truthiness of this value is taken into account # alongside {.base_type} / {.schema_type}. # @return [Boolean] - defines :array, type: Dry::Types["bool"] + defines :array, type: Schemas::Properties::Types::Bool array false + # @!scope class + # @!attribute [r] array_element_macros + # When {.array}, this attribute can be set to an array of macros that should be + # applied to each element of the array in the schema when validating with a contract. + # @return [Array] + + defines :array_element_macros, type: Schemas::Properties::Types::Array + + array_element_macros Dry::Core::Constants::EMPTY_ARRAY + # @!scope class # @!attribute [r] base_type # @return [Schemas::Properties::Types::BaseType] @@ -42,20 +56,39 @@ class Base < Schemas::Properties::BaseDefinition # @!scope class # @!attribute [r] complex # @return [Boolean] - defines :complex, type: Dry::Types["bool"] + defines :complex, type: Schemas::Properties::Types::Bool complex false + # @!scope class + # @!attribute [r] custom_schema_predicates + # @return [{ Symbol => Object }] + + defines :custom_schema_predicates, type: Schemas::Properties::Types::Hash + + custom_schema_predicates Dry::Core::Constants::EMPTY_HASH + # @!scope class # @!attribute [r] fillable # Declare that this schema property type is _fillable_, per dry-schema's definition. # # @see https://dry-rb.org/gems/dry-schema/1.9/basics/macros/#filled # @return [Boolean] - defines :fillable, type: Dry::Types["bool"] + defines :fillable, type: Schemas::Properties::Types::Bool fillable false + # @!scope class + # @!attribute [r] graphql_value_key + # The key used to access the GraphQL value for this specific property type. + # + # @api private + # @note This attribute is primarily used for testing. + # @return [Symbol] + defines :graphql_value_key, type: Schemas::Properties::Types::Symbol + + graphql_value_key :content + # @!scope class # @!attribute [r] kind # Declare the logical grouping _kind_ of property that this is. This is used for @@ -69,7 +102,7 @@ class Base < Schemas::Properties::BaseDefinition # @!scope class # @!attribute [r] orderable # @return [Boolean] - defines :orderable, type: Dry::Types["bool"] + defines :orderable, type: Schemas::Properties::Types::Bool orderable false @@ -79,14 +112,14 @@ class Base < Schemas::Properties::BaseDefinition # # @note A truthy value also implies {.complex}. # @return [Boolean] - defines :reference, type: Dry::Types["bool"] + defines :reference, type: Schemas::Properties::Types::Bool reference false # @!scope class # @!attribute [r] searchable # @return [Boolean] - defines :searchable, type: Dry::Types["bool"] + defines :searchable, type: Schemas::Properties::Types::Bool searchable false @@ -125,9 +158,6 @@ class Base < Schemas::Properties::BaseDefinition alias unorderable? unorderable - config.graphql_value_key = :content - config.schema_predicates = {} - validates :function, presence: true, inclusion: { in: Schemas::Properties::Types::Function.values } delegate :always_wide?, :array?, :complex?, :kind, :reference?, :simple?, @@ -135,61 +165,43 @@ class Base < Schemas::Properties::BaseDefinition :base_type, :schema_type, :searchable?, to: :class - def actually_required? - !exclude_from_schema? && required - end + def actually_required? = !exclude_from_schema? && required # @!attribute [r] dig_path # An array of strings suitable for use with `Enumerable#dig`, grabbing # the property's group's `path` when {#nested? nested}. # @return [] - def dig_path - nested? ? [parent.path, path] : [path] - end + def dig_path = nested? ? [parent.path, path] : [path] # @!attribute [r] full_path # The full `"dot.path"` for the property, based on whether the property is {#nested? nested}. # @return [String] - def full_path - nested? ? "#{parent.path}.#{path}" : path - end + def full_path = nested? ? "#{parent.path}.#{path}" : path # Determine whether this property has a `default`. - def has_default? - respond_to?(:default) && !default.nil? - end + def has_default? = respond_to?(:default) && !default.nil? # Whether this property is nested under a {Schemas::Properties::GroupDefinition group}. - def nested? - parent.kind_of?(Schemas::Properties::GroupDefinition) - end + def nested? = parent.kind_of?(Schemas::Properties::GroupDefinition) # Determine if this specific property is orderable based on its type # as well as if the schema author expressed it should not be. # # @see .orderable # @see #unorderable? - def orderable? - self.class.orderable? && !unorderable? - end + def orderable? = self.class.orderable? && !unorderable? # @!attribute [r] order_path # A condensed order path, that contains the type in order to ensure # the value is properly converted when sorting. # @return [String, nil] - def order_path - prefixed_path_with_type if orderable? - end + def order_path = orderable? ? prefixed_path_with_type : nil # @!attribute [r] search_path # @return [String, nil] - def search_path - prefixed_path_with_type if searchable? - end + def search_path = searchable? ? prefixed_path_with_type : nil - def prefixed_path_with_type - "props.#{full_path}##{type}" - end + def prefixed_path_with_type = "props.#{full_path}##{type}" # @api private # @return [void] @@ -212,9 +224,7 @@ def exclude_from_schema? # @api private # @see {.fillable} - def fillable_schema_type? - self.class.fillable? - end + def fillable_schema_type? = self.class.fillable? # @!attribute [r] schema_predicates # @return [{ Symbol => Object }] @@ -222,7 +232,7 @@ def fillable_schema_type? build_schema_predicates end - # @!endgroup + # @!endgroup Schema / Contract compilation # @!group Context / Value Extraction @@ -258,9 +268,7 @@ def validate_raw_value(extracted_value) # @api private # @abstract # @return [Object] - def normalize_read_value(value) - array? ? Array(value) : value - end + def normalize_read_value(value) = array? ? Array(value) : value # @param [Schemas::Properties::WriteContext] context # @return [void] @@ -268,7 +276,7 @@ def write_values_within!(context) context.copy_value! path end - # @!endgroup + # @!endgroup Context / Value Extraction # @!group Version Property Hooks @@ -288,7 +296,7 @@ def to_version_property_metadata end.compact end - # @!endgroup + # @!endgroup Version Property Hooks private @@ -324,12 +332,10 @@ def apply_schema_type_for_default_to(macro) end def build_array_element_macros - [*Array(config.array_element_macros), build_array_element_predicates].compact_blank + [*self.class.array_element_macros, build_array_element_predicates].compact_blank end - def build_array_element_predicates - {} - end + def build_array_element_predicates = {} # @return [Dry::Schema::Macros::Required] # @return [Dry::Schema::Macros::Optional] @@ -343,15 +349,13 @@ def build_schema_macro(context) # @abstract # @return [{ Symbol => Object }] - def build_schema_predicates - base_schema_predicates.merge(config.schema_predicates) - end + def build_schema_predicates = base_schema_predicates.merge(custom_schema_predicates) # @abstract # @return [{ Symbol => Object }] - def base_schema_predicates - {} - end + def base_schema_predicates = {} + + def custom_schema_predicates = self.class.custom_schema_predicates class << self # Declare that this schema property type should {.always_wide always be wide}. @@ -361,14 +365,23 @@ def always_wide! always_wide true end + # @param [#to_sym] key + # @param [Object] value + # @return [void] + def add_schema_predicate!(key, value) + new_predicates = custom_schema_predicates.merge(key.to_sym => value).freeze + + custom_schema_predicates new_predicates + end + # Declare this schema property type to be an {.array}. # - # @param [Array] array_element_macros + # @param [Array] new_array_element_macros # @return [void] - def array!(*array_element_macros) + def array!(*new_array_element_macros) array true - config.array_element_macros = array_element_macros.flatten + array_element_macros new_array_element_macros.flatten.freeze end # Declare this schema property type to be {.fillable}. @@ -418,39 +431,19 @@ def schema_type!(value) # @!group Introspection # @see {.always_wide} - def always_wide? - always_wide.present? - end + def always_wide? = always_wide.present? # @see {.array} - def array? - array.present? - end + def array? = array.present? # Detect whether this property type implements {Schemas::Properties::References::Collected}. - def collected_reference? - self < Schemas::Properties::References::Collected - end + def collected_reference? = self < Schemas::Properties::References::Collected # @see {.complex} - def complex? - complex.present? - end + def complex? = complex.present? # @see {.fillable} - def fillable? - fillable.present? - end - - # @!attribute [r] graphql_value_key - # The key used to access the GraphQL value for this specific property type. - # - # @api private - # @note This attribute is primarily used for testing. - # @return [Symbol] - def graphql_value_key - config.graphql_value_key - end + def fillable? = fillable.present? # @!attribute [r] graphql_typename # The type name for this schema property. @@ -459,35 +452,23 @@ def graphql_value_key # @see Types::Schematic # @note This attribute is primarily used for testing. # @return [String] - def graphql_typename - "#{name.demodulize}Property" - end + def graphql_typename = "#{name.demodulize}Property" # Whether or not this property type is orderable. # # @see {.orderable} - def orderable? - orderable.present? - end + def orderable? = orderable.present? # @see {.reference} - def reference? - reference.present? - end + def reference? = reference.present? # Detect whether this property type implements {Schemas::Properties::References::Scalar}. - def scalar_reference? - self < Schemas::Properties::References::Scalar - end + def scalar_reference? = self < Schemas::Properties::References::Scalar # @see {.searchable} - def searchable? - searchable.present? - end + def searchable? = searchable.present? - def simple? - !complex? && !reference? - end + def simple? = !complex? && !reference? # @!attribute [r] type_reference # The type of the schema property expressed in a format suitable to use @@ -496,11 +477,9 @@ def simple? # @api private # @note This attribute is primarily used for testing. # @return [Symbol] - def type_reference - name.demodulize.underscore.to_sym - end + def type_reference = name.demodulize.underscore.to_sym - # @!endgroup + # @!endgroup Introspection private diff --git a/app/services/schemas/properties/scalar/boolean.rb b/app/services/schemas/properties/scalar/boolean.rb index 142bc425..1f7a181f 100644 --- a/app/services/schemas/properties/scalar/boolean.rb +++ b/app/services/schemas/properties/scalar/boolean.rb @@ -12,7 +12,7 @@ class Boolean < Base schema_type! :bool - config.graphql_value_key = :checked + graphql_value_key :checked end end end diff --git a/app/services/schemas/properties/scalar/date.rb b/app/services/schemas/properties/scalar/date.rb index 4ef1d79a..0d8e5714 100644 --- a/app/services/schemas/properties/scalar/date.rb +++ b/app/services/schemas/properties/scalar/date.rb @@ -10,7 +10,7 @@ class Date < Base schema_type! :date - config.graphql_value_key = :date + graphql_value_key :date end end end diff --git a/app/services/schemas/properties/scalar/email.rb b/app/services/schemas/properties/scalar/email.rb index 5379ea1b..79ff0fb2 100644 --- a/app/services/schemas/properties/scalar/email.rb +++ b/app/services/schemas/properties/scalar/email.rb @@ -12,11 +12,9 @@ class Email < Base schema_type! :string - config.schema_predicates = { - format?: Support::GlobalTypes::EMAIL_PATTERN - } + add_schema_predicate! :format?, Support::GlobalTypes::EMAIL_PATTERN - config.graphql_value_key = :address + graphql_value_key :address end end end diff --git a/app/services/schemas/properties/scalar/float.rb b/app/services/schemas/properties/scalar/float.rb index b55ab4c0..7c98d340 100644 --- a/app/services/schemas/properties/scalar/float.rb +++ b/app/services/schemas/properties/scalar/float.rb @@ -16,7 +16,7 @@ class Float < Base schema_type! :decimal - config.graphql_value_key = :float_value + graphql_value_key :float_value def build_schema_predicates super.merge( diff --git a/app/services/schemas/properties/scalar/full_text.rb b/app/services/schemas/properties/scalar/full_text.rb index 4b8bbe13..a75e5404 100644 --- a/app/services/schemas/properties/scalar/full_text.rb +++ b/app/services/schemas/properties/scalar/full_text.rb @@ -12,7 +12,7 @@ class FullText < Base schema_type! :full_text - config.graphql_value_key = :full_text + graphql_value_key :full_text # @see Schemas::Properties::Context#full_text def extract_raw_value_from(context) diff --git a/app/services/schemas/properties/scalar/integer.rb b/app/services/schemas/properties/scalar/integer.rb index f8fa261b..faf7c1c7 100644 --- a/app/services/schemas/properties/scalar/integer.rb +++ b/app/services/schemas/properties/scalar/integer.rb @@ -16,7 +16,7 @@ class Integer < Base schema_type! :integer - config.graphql_value_key = :integer_value + graphql_value_key :integer_value def build_schema_predicates super.merge( diff --git a/app/services/schemas/properties/scalar/multiselect.rb b/app/services/schemas/properties/scalar/multiselect.rb index ec16a365..e88edc46 100644 --- a/app/services/schemas/properties/scalar/multiselect.rb +++ b/app/services/schemas/properties/scalar/multiselect.rb @@ -15,7 +15,7 @@ class Multiselect < Base schema_type! :string - config.graphql_value_key = :selections + graphql_value_key :selections attribute :default, :string_array diff --git a/app/services/schemas/properties/scalar/select.rb b/app/services/schemas/properties/scalar/select.rb index c8fea7f6..f1d8a3b6 100644 --- a/app/services/schemas/properties/scalar/select.rb +++ b/app/services/schemas/properties/scalar/select.rb @@ -12,7 +12,7 @@ class Select < Base schema_type! :string - config.graphql_value_key = :selection + graphql_value_key :selection attribute :default, :string diff --git a/app/services/schemas/properties/scalar/tags.rb b/app/services/schemas/properties/scalar/tags.rb index a272de16..4c85d08c 100644 --- a/app/services/schemas/properties/scalar/tags.rb +++ b/app/services/schemas/properties/scalar/tags.rb @@ -12,7 +12,7 @@ class Tags < Base schema_type! :string - config.graphql_value_key = :tags + graphql_value_key :tags attribute :default, :string_array diff --git a/app/services/schemas/properties/scalar/timestamp.rb b/app/services/schemas/properties/scalar/timestamp.rb index 048e7501..e2004196 100644 --- a/app/services/schemas/properties/scalar/timestamp.rb +++ b/app/services/schemas/properties/scalar/timestamp.rb @@ -10,7 +10,7 @@ class Timestamp < Base schema_type! :time - config.graphql_value_key = :timestamp + graphql_value_key :timestamp end end end diff --git a/app/services/schemas/properties/scalar/unknown.rb b/app/services/schemas/properties/scalar/unknown.rb index ae2209bd..18de1d82 100644 --- a/app/services/schemas/properties/scalar/unknown.rb +++ b/app/services/schemas/properties/scalar/unknown.rb @@ -9,7 +9,7 @@ class Unknown < Base schema_type! :any - config.graphql_value_key = :unknown_value + graphql_value_key :unknown_value end end end diff --git a/app/services/schemas/properties/scalar/url.rb b/app/services/schemas/properties/scalar/url.rb index 00b2717a..51a3f7ac 100644 --- a/app/services/schemas/properties/scalar/url.rb +++ b/app/services/schemas/properties/scalar/url.rb @@ -10,7 +10,7 @@ module Scalar class URL < Base schema_type! :url - config.graphql_value_key = :url + graphql_value_key :url end end end diff --git a/app/services/schemas/properties/scalar/variable_date.rb b/app/services/schemas/properties/scalar/variable_date.rb index b646c267..0b86c4da 100644 --- a/app/services/schemas/properties/scalar/variable_date.rb +++ b/app/services/schemas/properties/scalar/variable_date.rb @@ -13,7 +13,7 @@ class VariableDate < Base searchable! - config.graphql_value_key = :date_with_precision + graphql_value_key :date_with_precision def normalize_schema_value_before_coercer(raw:, **) validate_raw_value raw diff --git a/app/services/shared/string_backed_enums.rb b/app/services/shared/string_backed_enums.rb index 184ce816..72b59cdf 100644 --- a/app/services/shared/string_backed_enums.rb +++ b/app/services/shared/string_backed_enums.rb @@ -4,10 +4,12 @@ module Shared module StringBackedEnums extend ActiveSupport::Concern - class_methods do + module ClassMethods def string_enum(name, *values, **options) - mapping = values.flatten.each_with_object({}) do |value, h| - h[value.to_sym] = value.to_sym + mapping = values.flatten.to_h do |value| + sym = value.to_sym + + [sym, sym] end enum(name, mapping, **options) diff --git a/app/services/tus_client.rb b/app/services/tus_client.rb deleted file mode 100644 index af7d859e..00000000 --- a/app/services/tus_client.rb +++ /dev/null @@ -1,195 +0,0 @@ -# frozen_string_literal: true - -# A client for talking to the local Tus server. It is intended for internal use only, -# and will likely not be part of the final API in this form. -# -# @api private -class TusClient - CHUNK_SIZE = 100.megabytes - TUS_VERSION = "1.0.0" - NUM_RETRIES = 5 - - def initialize(server_url, headers: {}) - @server_uri = URI.parse(server_url) - - # better to open the connection now - @http = Net::HTTP.new(@server_uri.host, @server_uri.port) - - @http.use_ssl = (@server_uri.scheme == "https") - - @http.start - - @additional_headers = headers - - # we cache this value for further use - @capabilities = capabilities - end - - # @param [Pathname, String] file_path - # @return [String] the tus uri - def upload(file_path) - raise "No such file!" unless File.file?(file_path) - - file_name = File.basename(file_path) - file_size = File.size(file_path) - io = File.open(file_path, 'rb') - - upload_by_io(file_name:, file_size:, io:) - end - - # @return [String] the tus URI - def upload_by_io(file_name:, file_size:, io:) - raise 'Cannot upload a stream of unknown size!' unless file_size - - uri = create_remote(file_name, file_size) - - # we use only parameters that are known to the server - offset, length = upload_parameters(uri) - - chunks = Enumerator.new do |yielder| - loop do - chunk = io.read(CHUNK_SIZE) - - break unless chunk - - yielder << chunk - end - end - - begin - offset = chunks.lazy.inject(offset) do |current_offset, chunk| - upload_chunk(uri, current_offset, chunk) - end - rescue StandardError - raise "Broken upload! Cannot send a chunk!" - end - - raise "Broken upload!" unless offset == length - - io.close - - return uri - end - - private - - def capabilities - raise "Uninitialized connection!" unless @http - - response = @http.options(@server_uri.request_uri) - - response["Tus-Extension"]&.split(?,) - end - - def create_remote(file_name, file_size) - raise "New file uploading is not supported!" unless @capabilities.include?("creation") - - request = Net::HTTP::Post.new(@server_uri.request_uri) - - request["Content-Length"] = 0 - request["Upload-Length"] = file_size - request["Upload-Metadata"] = "filename: #{Base64.strict_encode64(file_name)},is_confidential" - - apply_request_headers! request - - response = nil - - NUM_RETRIES.times do - response = @http.request(request) - break - rescue StandardError - next - end - - raise "Cannot create a remote file!" unless response.is_a?(Net::HTTPCreated) - - location_url = response["Location"] - - raise "Malformed server response: missing 'Location' header" unless location_url - - URI.parse(location_url).path - end - - def upload_parameters(uri) - request = Net::HTTP::Head.new(uri) - - apply_request_headers! request - - response = @http.request(request) - - [response["Upload-Offset"], response["Upload-Length"]].map(&:to_i) - end - - def upload_chunk(uri, offset, chunk) - request = Net::HTTP::Patch.new(uri) - request["Content-Type"] = "application/offset+octet-stream" - request["Upload-Offset"] = offset - - apply_request_headers! request - - request.body = chunk - - response = nil - - NUM_RETRIES.times do - response = @http.request(request) - break - rescue StandardError - next - end - - raise "Cannot upload a chunk!" unless response.is_a?(Net::HTTPNoContent) - - resulting_offset = response["Upload-Offset"].to_i - - expected_offset = offset + chunk.size - - raise "Chunk upload is broken!" unless resulting_offset == expected_offset - - resulting_offset - end - - def apply_request_headers!(request) - request["Tus-Resumable"] = TUS_VERSION - - @additional_headers.each do |name, value| - request[name] = value - end - end - - class << self - # Build a client for the provided base URL. - # - # @example - # client = TusClient.build "http://localhost:6222" - # - # @param [String] base_url - # @return [TusClient] - def build(base_url) - server_url = URI.join(base_url, "/files").to_s - - new server_url, headers: generate_additional_headers - end - - # {.build Build} a client for the default local docker environment. - # - # @return [TusClient] - def local - build "http://localhost:6222" - end - - private - - # Generate an upload token - # @return [String] - def generate_upload_token - MeruAPI::Container["uploads.encode_token"].call.value! - end - - def generate_additional_headers - {}.tap do |h| - h["Upload-Token"] = generate_upload_token - end - end - end -end diff --git a/bin/ci b/bin/ci new file mode 100755 index 00000000..4137ad5b --- /dev/null +++ b/bin/ci @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby +require_relative "../config/boot" +require "active_support/continuous_integration" + +CI = ActiveSupport::ContinuousIntegration +require_relative "../config/ci.rb" diff --git a/bin/rubocop b/bin/rubocop index 4d2a778d..bcaa22dc 100755 --- a/bin/rubocop +++ b/bin/rubocop @@ -26,7 +26,7 @@ end require "rubygems" require "bundler/setup" -# explicit rubocop config increases performance slightly while avoiding config confusion. +# Explicit RuboCop config increases performance slightly while avoiding config confusion. ARGV.unshift("--config", File.expand_path("../.rubocop.yml", __dir__)) load Gem.bin_path("rubocop", "rubocop") diff --git a/bin/setup b/bin/setup index be3db3c0..81be011e 100755 --- a/bin/setup +++ b/bin/setup @@ -22,6 +22,7 @@ FileUtils.chdir APP_ROOT do puts "\n== Preparing database ==" system! "bin/rails db:prepare" + system! "bin/rails db:reset" if ARGV.include?("--reset") puts "\n== Removing old logs and tempfiles ==" system! "bin/rails log:clear tmp:clear" diff --git a/config/ci.rb b/config/ci.rb new file mode 100644 index 00000000..809659b2 --- /dev/null +++ b/config/ci.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +# Run using bin/ci + +CI.run do + step "Setup", "bin/setup --skip-server" + + step "Style: Ruby", "bin/rubocop" + + # Optional: set a green GitHub commit status to unblock PR merge. + # Requires the `gh` CLI and `gh extension install basecamp/gh-signoff`. + # if success? + # step "Signoff: All systems go. Ready for merge and deploy.", "gh signoff" + # else + # failure "Signoff: CI failed. Do not merge or deploy.", "Fix the issues and try again." + # end +end diff --git a/config/environments/development.rb b/config/environments/development.rb index 0240ae31..9ce672da 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -56,6 +56,9 @@ # Highlight code that enqueued background job in logs. config.active_job.verbose_enqueue_logs = true + # Highlight code that triggered redirect in logs. + config.action_dispatch.verbose_redirect_logs = true + # Raises error for missing translations. # config.i18n.raise_on_missing_translations = true diff --git a/config/environments/production.rb b/config/environments/production.rb index ebe7678e..1aa07e37 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -35,9 +35,9 @@ # Log to STDOUT with the current request id as a default log tag. config.log_tags = [ :request_id ] - config.logger = ActiveSupport::TaggedLogging.logger(STDOUT) + config.logger = ActiveSupport::TaggedLogging.logger($stdout) - # Change to "debug" to log everything (including potentially personally-identifiable information!) + # Change to "debug" to log everything (including potentially personally-identifiable information!). config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info") # Prevent health checks from clogging up the logs. @@ -67,7 +67,7 @@ # Set host to be used by links generated in mailer templates. config.action_mailer.default_url_options = { host: "example.com" } - # Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit. + # Specify outgoing SMTP server. Remember to add smtp/* credentials via bin/rails credentials:edit. # config.action_mailer.smtp_settings = { # user_name: Rails.application.credentials.dig(:smtp, :user_name), # password: Rails.application.credentials.dig(:smtp, :password), diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb index 15319191..f380c3b2 100644 --- a/config/initializers/cors.rb +++ b/config/initializers/cors.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +# Be sure to restart your server when you modify this file. + module CORSHelper METHODS = %i[get post patch put delete options head].freeze S3MP_HEADERS = %w[Authorization Content-Type x-amz-content-sha256 x-amz-date Upload-Token].freeze @@ -11,6 +13,9 @@ module CORSHelper ].freeze end +# Avoid CORS issues when API is called from the frontend app. +# Handle Cross-Origin Resource Sharing (CORS) in order to accept cross-origin Ajax requests. +# Read more: https://github.com/cyu/rack-cors Rails.application.config.middleware.insert_before 0, Rack::Cors do allow do origins ?* diff --git a/config/initializers/new_framework_defaults_8_0.rb b/config/initializers/new_framework_defaults_8_0.rb index 93d81ef9..feb520fc 100644 --- a/config/initializers/new_framework_defaults_8_0.rb +++ b/config/initializers/new_framework_defaults_8_0.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Be sure to restart your server when you modify this file. # # This file eases your Rails 8.0 framework defaults upgrade. diff --git a/config/initializers/new_framework_defaults_8_1.rb b/config/initializers/new_framework_defaults_8_1.rb new file mode 100644 index 00000000..4a552606 --- /dev/null +++ b/config/initializers/new_framework_defaults_8_1.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +# Be sure to restart your server when you modify this file. +# +# This file eases your Rails 8.1 framework defaults upgrade. +# +# Uncomment each configuration one by one to switch to the new default. +# Once your application is ready to run with all new defaults, you can remove +# this file and set the `config.load_defaults` to `8.1`. +# +# Read the Guide for Upgrading Ruby on Rails for more info on each option. +# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html + +### +# Skips escaping HTML entities and line separators. When set to `false`, the +# JSON renderer no longer escapes these to improve performance. +# +# Example: +# class PostsController < ApplicationController +# def index +# render json: { key: "\u2028\u2029<>&" } +# end +# end +# +# Renders `{"key":"\u2028\u2029\u003c\u003e\u0026"}` with the previous default, but `{"key":"<>&"}` with the config +# set to `false`. +# +# Applications that want to keep the escaping behavior can set the config to `true`. +#++ +Rails.configuration.action_controller.escape_json_responses = false + +### +# Skips escaping LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) in JSON. +# +# Historically these characters were not valid inside JavaScript literal strings but that changed in ECMAScript 2019. +# As such it's no longer a concern in modern browsers: https://caniuse.com/mdn-javascript_builtins_json_json_superset. +#++ +Rails.configuration.active_support.escape_js_separators_in_json = false + +### +# Raises an error when order dependent finder methods (e.g. `#first`, `#second`) are called without `order` values +# on the relation, and the model does not have any order columns (`implicit_order_column`, `query_constraints`, or +# `primary_key`) to fall back on. +# +# The current behavior of not raising an error has been deprecated, and this configuration option will be removed in +# Rails 8.2. +#++ +Rails.configuration.active_record.raise_on_missing_required_finder_order_columns = false + +### +# Controls how Rails handles path relative URL redirects. +# When set to `:raise`, Rails will raise an `ActionController::Redirecting::UnsafeRedirectError` +# for relative URLs without a leading slash, which can help prevent open redirect vulnerabilities. +# +# Example: +# redirect_to "example.com" # Raises UnsafeRedirectError +# redirect_to "@attacker.com" # Raises UnsafeRedirectError +# redirect_to "/safe/path" # Works correctly +# +# Applications that want to allow these redirects can set the config to `:log` (previous default) +# to only log warnings, or `:notify` to send ActiveSupport notifications. +#++ +Rails.configuration.action_controller.action_on_path_relative_redirect = :log + +### +# Use a Ruby parser to track dependencies between Action View templates +#++ +Rails.configuration.action_view.render_tracker = :ruby + +### +# When enabled, hidden inputs generated by `form_tag`, `token_tag`, `method_tag`, and the hidden parameter fields +# included in `button_to` forms will omit the `autocomplete="off"` attribute. +# +# Applications that want to keep generating the `autocomplete` attribute for those tags can set it to `false`. +#++ +# Rails.configuration.action_view.remove_hidden_field_autocomplete = true diff --git a/lib/support/lib/migrations/quotable_ref.rb b/lib/support/lib/migrations/quotable_ref.rb index f95e1741..f277c3ef 100644 --- a/lib/support/lib/migrations/quotable_ref.rb +++ b/lib/support/lib/migrations/quotable_ref.rb @@ -55,8 +55,8 @@ def with(**new_options) private memoize def initializer_options - self.class.dry_initializer.options.each_with_object({}) do |option, options| - options[option.source] = __send__(option.target) + self.class.dry_initializer.options.to_h do |option| + [option.source, __send__(option.target)] end end diff --git a/lib/support/lib/tus_client.rb b/lib/support/lib/tus_client.rb index a222912d..dddd3f5d 100644 --- a/lib/support/lib/tus_client.rb +++ b/lib/support/lib/tus_client.rb @@ -33,9 +33,10 @@ def upload(file_path) file_name = File.basename(file_path) file_size = File.size(file_path) - io = File.open(file_path, 'rb') - upload_by_io(file_name:, file_size:, io:) + File.open(file_path, "rb") do |io| + upload_by_io(file_name:, file_size:, io:) + end end # @return [String] the tus URI diff --git a/lib/support/model_concerns/arel_helpers.rb b/lib/support/model_concerns/arel_helpers.rb index 8fc7332c..c813816f 100644 --- a/lib/support/model_concerns/arel_helpers.rb +++ b/lib/support/model_concerns/arel_helpers.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -# rubocop:disable Metrics/PerceivedComplexity module ArelHelpers INT_ARRAY = ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array.new(ActiveRecord::Type::Integer.new).freeze @@ -316,4 +315,3 @@ def arel_column_matcher @arel_column_matcher ||= /\A#{Regexp.union(column_names)}\z/ end end -# rubocop:enable Metrics/PerceivedComplexity diff --git a/lib/support/model_concerns/assigns_polymorphic_foreign_key.rb b/lib/support/model_concerns/assigns_polymorphic_foreign_key.rb index 7488c032..0ba02a11 100644 --- a/lib/support/model_concerns/assigns_polymorphic_foreign_key.rb +++ b/lib/support/model_concerns/assigns_polymorphic_foreign_key.rb @@ -26,8 +26,8 @@ def polymorphic_foreign_keys def assign_polymorphic_foreign_key!(name, *direct_foreign_keys, required_interface: nil, **mapped_foreign_keys) direct_foreign_keys.flatten! - foreign_keys = direct_foreign_keys.each_with_object({}) do |key, h| - h[key.to_sym] = key.to_sym + foreign_keys = direct_foreign_keys.to_h do |key| + [key.to_sym, key.to_sym] end.merge(mapped_foreign_keys) options = {} diff --git a/lib/support/model_concerns/materialized_view.rb b/lib/support/model_concerns/materialized_view.rb index ebde6ed9..ea85c49e 100644 --- a/lib/support/model_concerns/materialized_view.rb +++ b/lib/support/model_concerns/materialized_view.rb @@ -1,13 +1,19 @@ # frozen_string_literal: true +# A concern for a materialized view-backed model. +# +# @see View module MaterializedView extend ActiveSupport::Concern - include ActiveSupport::Configurable include View included do - config.refreshes_concurrently = true + extend Dry::Core::ClassAttributes + + defines :refreshes_concurrently, type: Support::Types::Bool + + refreshes_concurrently true end module ClassMethods @@ -16,14 +22,14 @@ def populated? end # @return [void] - def refresh!(concurrently: config.refreshes_concurrently, cascade: false) + def refresh!(concurrently: refreshes_concurrently, cascade: false) Scenic.database.refresh_materialized_view(table_name, concurrently:, cascade:) end # @api private # @return [void] def refreshes_concurrently! - config.refreshes_concurrently = true + refreshes_concurrently true end end end diff --git a/spec/operations/controlled_vocabularies/upsert_spec.rb b/spec/operations/controlled_vocabularies/upsert_spec.rb index a0c6fc97..ec9bd44d 100644 --- a/spec/operations/controlled_vocabularies/upsert_spec.rb +++ b/spec/operations/controlled_vocabularies/upsert_spec.rb @@ -17,8 +17,10 @@ identifier: "bar", label: "Bar", children: [ - identifier: "baz", - label: "Baz", + { + identifier: "baz", + label: "Baz", + }, ] } ] diff --git a/spec/requests/graphql/mutations/controlled_vocabulary_upsert_spec.rb b/spec/requests/graphql/mutations/controlled_vocabulary_upsert_spec.rb index ce979cbd..4a83a6ce 100644 --- a/spec/requests/graphql/mutations/controlled_vocabulary_upsert_spec.rb +++ b/spec/requests/graphql/mutations/controlled_vocabulary_upsert_spec.rb @@ -42,8 +42,10 @@ identifier: "bar", label: "Bar", children: [ - identifier: "baz", - label: "Baz", + { + identifier: "baz", + label: "Baz", + }, ] } ] diff --git a/spec/support/helpers/controlled_vocabulary_helpers.rb b/spec/support/helpers/controlled_vocabulary_helpers.rb index 06514030..13881271 100644 --- a/spec/support/helpers/controlled_vocabulary_helpers.rb +++ b/spec/support/helpers/controlled_vocabulary_helpers.rb @@ -47,14 +47,16 @@ module ExampleHelpers identifier: "bar", label: "Bar", children: [ - identifier: "baz", - label: "Baz", - children: [ - { - identifier: "quux", - label: "Quux", - } - ] + { + identifier: "baz", + label: "Baz", + children: [ + { + identifier: "quux", + label: "Quux", + } + ], + }, ] } ] From dd268714691960c0cab791838fdcfbbd993a0d45 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Tue, 17 Mar 2026 09:28:37 -0700 Subject: [PATCH 07/10] [E] Refactor entity maintenance tasks * Centralize all lifecycle entity maintenance into a single operation: `Entities::Maintainer`. This allows us better control over what happens when an entity is saved, avoid double-maintenance when Shrine persists attachments, etc. * Move entity indexing to an asynchronous operation * Improve schema properties application * Improve ordering refreshes to not rely on dry-effects, remove deprecated "deferred" logic * Move more upsert / delete operations to use merge instead * Make writing schematic texts significantly more efficient, merge all at once instead of n+1 and only update them if there are actual changes * Significantly improve performance of both calculating and auditing AuthorizedEntity, latter now runs in a second or two instead of 40+s --- .../entities/index_search_documents_job.rb | 20 ++ .../reindex_all_search_documents_job.rb | 7 +- app/jobs/entities/reindex_search_job.rb | 5 +- .../instances/extract_core_texts_job.rb | 18 -- app/jobs/schemas/instances/reindex_job.rb | 1 - app/models/authorizing_entity.rb | 4 + .../concerns/entity_templating_support.rb | 3 - app/models/concerns/has_schema_definition.rb | 10 +- app/models/concerns/hierarchical_entity.rb | 55 +++- app/models/concerns/model_mutation_support.rb | 7 +- app/models/concerns/syncs_entities.rb | 5 +- app/models/concerns/wraps_schema_property.rb | 8 +- .../concerns/writes_named_variable_dates.rb | 2 - app/models/entity.rb | 3 +- app/models/entity_link.rb | 1 + app/models/ordering.rb | 33 ++- app/models/schema_version_property.rb | 3 + app/models/schematic_text.rb | 12 +- app/operations/entities/audit_authorizing.rb | 19 +- .../entities/calculate_authorizing.rb | 74 +++-- .../entities/calculate_composed_texts.rb | 2 - .../entities/invalidate_related_layouts.rb | 8 +- app/operations/entities/maintain.rb | 8 + app/operations/entities/sync.rb | 33 +-- app/operations/schemas/instances/apply.rb | 108 +------ .../schemas/instances/apply_value_context.rb | 77 ----- .../extract_searchable_properties.rb | 18 +- .../schemas/instances/populate_orderings.rb | 13 +- .../schemas/instances/refresh_orderings.rb | 35 ++- app/operations/schemas/instances/reindex.rb | 3 +- .../schemas/instances/write_core_texts.rb | 48 --- .../schemas/instances/write_full_text.rb | 68 ----- app/operations/schemas/orderings/refresh.rb | 34 +-- .../references/write_collected_references.rb | 21 +- .../references/write_scalar_reference.rb | 26 +- app/operations/schemas/texts/write.rb | 10 + .../schemas/versions/extract_properties.rb | 99 +++++-- app/operations/system/run_graphql.rb | 8 + app/services/entities/captors/abstract.rb | 87 ------ app/services/entities/captors/interface.rb | 51 ---- .../entities/captors/related_invalidations.rb | 19 -- app/services/entities/captors/syncs.rb | 16 - app/services/entities/maintainer.rb | 130 +++++++++ app/services/entities/types.rb | 2 + app/services/mutations.rb | 15 +- app/services/mutations/active.rb | 57 ---- app/services/mutations/current.rb | 23 ++ .../instances/properties_applicator.rb | 160 ++++++++++ app/services/schemas/orderings.rb | 74 ++--- app/services/schemas/orderings/current.rb | 31 ++ .../schemas/orderings/refresh_status.rb | 178 +----------- app/services/schemas/orderings/types.rb | 2 + .../schemas/properties/base_definition.rb | 32 +- app/services/schemas/properties/context.rb | 73 +++-- .../schemas/properties/write_context.rb | 25 +- app/services/schemas/texts/writer.rb | 254 ++++++++++++++++ app/services/schemas/types.rb | 21 +- app/services/seeding/import/middleware.rb | 2 +- app/services/system/checker.rb | 6 + app/services/system/graphql_runner.rb | 77 +++++ app/services/system/types.rb | 13 + app/services/utility/types.rb | 6 + app/services/utility/value_select_query.rb | 138 +++++++++ ...16200244_correct_entity_property_values.rb | 43 +++ db/structure.sql | 274 ++++++++++-------- lib/global_types/property_hash.rb | 3 + lib/support/lib/property_hash.rb | 112 +++++-- .../index_search_documents_job_spec.rb | 11 + .../instances/extract_core_texts_job_spec.rb | 13 - .../mismatched_collection_parent_spec.rb | 2 - .../audits/mismatched_item_parent_spec.rb | 2 - .../models/schema_definition_property_spec.rb | 38 +-- .../entities/calculate_authorizing_spec.rb | 14 +- .../instances/refresh_orderings_spec.rb | 39 +-- spec/operations/seeding/import/run_spec.rb | 2 - .../mutations/create_collection_spec.rb | 6 +- .../graphql/query/contributors_spec.rb | 2 - .../graphql/query/related_items_spec.rb | 2 - spec/support/contexts/ordering_skips.rb | 24 +- spec/support/contexts/sans_entity_sync.rb | 17 -- .../shared_examples/an_entity_sync_job.rb | 4 +- .../an_entity_with_schematic_properties.rb | 4 +- 82 files changed, 1660 insertions(+), 1353 deletions(-) create mode 100644 app/jobs/entities/index_search_documents_job.rb delete mode 100644 app/jobs/schemas/instances/extract_core_texts_job.rb create mode 100644 app/operations/entities/maintain.rb delete mode 100644 app/operations/schemas/instances/apply_value_context.rb delete mode 100644 app/operations/schemas/instances/write_core_texts.rb delete mode 100644 app/operations/schemas/instances/write_full_text.rb create mode 100644 app/operations/schemas/texts/write.rb create mode 100644 app/operations/system/run_graphql.rb delete mode 100644 app/services/entities/captors/abstract.rb delete mode 100644 app/services/entities/captors/interface.rb delete mode 100644 app/services/entities/captors/related_invalidations.rb delete mode 100644 app/services/entities/captors/syncs.rb create mode 100644 app/services/entities/maintainer.rb delete mode 100644 app/services/mutations/active.rb create mode 100644 app/services/mutations/current.rb create mode 100644 app/services/schemas/instances/properties_applicator.rb create mode 100644 app/services/schemas/orderings/current.rb create mode 100644 app/services/schemas/texts/writer.rb create mode 100644 app/services/system/graphql_runner.rb create mode 100644 app/services/system/types.rb create mode 100644 app/services/utility/value_select_query.rb create mode 100644 db/migrate/20260316200244_correct_entity_property_values.rb create mode 100644 spec/jobs/entities/index_search_documents_job_spec.rb delete mode 100644 spec/jobs/schemas/instances/extract_core_texts_job_spec.rb delete mode 100644 spec/support/contexts/sans_entity_sync.rb diff --git a/app/jobs/entities/index_search_documents_job.rb b/app/jobs/entities/index_search_documents_job.rb new file mode 100644 index 00000000..d05d9314 --- /dev/null +++ b/app/jobs/entities/index_search_documents_job.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Entities + # @see Entities::IndexSearchDocuments + class IndexSearchDocumentsJob < ApplicationJob + queue_as :indexing + + queue_with_priority 400 + + good_job_control_concurrency_with( + total_limit: 1, + key: -> { "#{self.class.name}-#{queue_name}-#{arguments.first.id}" } + ) + + # @return [void] + def perform(entity) + entity.index_search_documents! + end + end +end diff --git a/app/jobs/entities/reindex_all_search_documents_job.rb b/app/jobs/entities/reindex_all_search_documents_job.rb index cf6fe35d..4667f7e4 100644 --- a/app/jobs/entities/reindex_all_search_documents_job.rb +++ b/app/jobs/entities/reindex_all_search_documents_job.rb @@ -5,8 +5,11 @@ module Entities # {EntitySearchDocument} table. # # Individual {HierarchicalEntity} search documents are also - # synchronized every time {Entities::Sync} runs, but this - # ensures that the search data never grows stale. + # synchronized asynchronously by {Entities::IndexSearchDocumentsJob} + # when they are saved, but this job makes sure that the data never + # gets too stale. + # + # @see Entities::IndexSearchDocuments class ReindexAllSearchDocumentsJob < ApplicationJob queue_as :maintenance diff --git a/app/jobs/entities/reindex_search_job.rb b/app/jobs/entities/reindex_search_job.rb index 2dc2b237..4e686072 100644 --- a/app/jobs/entities/reindex_search_job.rb +++ b/app/jobs/entities/reindex_search_job.rb @@ -1,8 +1,11 @@ # frozen_string_literal: true module Entities - # @see Schemas::Instances::ExtractCoreTextsJob + # A manually-invoked job to reindex all search properties. + # # @see Schemas::Instances::ExtractSearchablePropertiesJob + # @see Schemas::Instances::Reindex + # @see Schemas::Instances::ReindexJob class ReindexSearchJob < ApplicationJob include JobIteration::Iteration diff --git a/app/jobs/schemas/instances/extract_core_texts_job.rb b/app/jobs/schemas/instances/extract_core_texts_job.rb deleted file mode 100644 index 4d7ec386..00000000 --- a/app/jobs/schemas/instances/extract_core_texts_job.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -module Schemas - module Instances - # @see Schemas::Instances::ExtractCoreTexts - class ExtractCoreTextsJob < ApplicationJob - queue_as :maintenance - - # @param [HierarchicalEntity] entity - # @return [void] - def perform(entity) - call_operation! "schemas.instances.write_core_texts", entity - - Schemas::Instances::ExtractComposedTextJob.perform_later entity - end - end - end -end diff --git a/app/jobs/schemas/instances/reindex_job.rb b/app/jobs/schemas/instances/reindex_job.rb index e91a6482..1ed83d6b 100644 --- a/app/jobs/schemas/instances/reindex_job.rb +++ b/app/jobs/schemas/instances/reindex_job.rb @@ -3,7 +3,6 @@ module Schemas module Instances # @see Schemas::Instances::ExtractComposedTextsJob - # @see Schemas::Instances::ExtractCoreTextsJob # @see Schemas::Instances::ExtractSearchablePropertiesJob class ReindexJob < ApplicationJob queue_as :maintenance diff --git a/app/models/authorizing_entity.rb b/app/models/authorizing_entity.rb index e0b734e0..1ba60b63 100644 --- a/app/models/authorizing_entity.rb +++ b/app/models/authorizing_entity.rb @@ -4,6 +4,10 @@ # # It is created by an {Entity} after commit and not managed directly. # +# Nowadays this is primarily a trimmed down, denormalized version of {EntityHierarchy} +# that is just used for calculating authorization. In the future, we'll likely rebuild +# the authorization system to draw from `entity_hierarchies` directly. +# # @see Entities::AuditAuthorizing # @see Entities::CalculateAuthorizing class AuthorizingEntity < ApplicationRecord diff --git a/app/models/concerns/entity_templating_support.rb b/app/models/concerns/entity_templating_support.rb index 49c5e600..77b07d3b 100644 --- a/app/models/concerns/entity_templating_support.rb +++ b/app/models/concerns/entity_templating_support.rb @@ -26,9 +26,6 @@ module EntityTemplatingSupport scope :sans_derived_layout_definitions, -> { where.missing(:entity_derived_layout_definitions) } scope :stale, -> { where(arel_build_staleness_condition) } - - after_save :invalidate_layouts!, unless: :layout_invalidation_disabled? - after_save :invalidate_related_layouts!, unless: :layout_invalidation_disabled? end # @return [Boolean] diff --git a/app/models/concerns/has_schema_definition.rb b/app/models/concerns/has_schema_definition.rb index a72132d3..6d62ce52 100644 --- a/app/models/concerns/has_schema_definition.rb +++ b/app/models/concerns/has_schema_definition.rb @@ -83,6 +83,7 @@ def to_reference_map end # @see Schemas::Instances::Apply + # @see Schemas::Instances::PropertiesApplicator # @param [Hash] values # @return [Dry::Monads::Result] monadic_operation! def apply_properties(values) @@ -90,22 +91,25 @@ def to_reference_map end # @api private - # @return [void] + # @note This will actually use patch properties. + # @return [Boolean] def apply_pending_properties! - return if pending_properties.blank? + return false if pending_properties.blank? begin pending = pending_properties self.pending_properties = nil - apply_properties!(pending) + patch_properties!(pending) rescue Dry::Monads::UnwrapError => e # :nocov: self.pending_properties = pending raise e # :nocov: + else + return true end end diff --git a/app/models/concerns/hierarchical_entity.rb b/app/models/concerns/hierarchical_entity.rb index ad33f28e..20717350 100644 --- a/app/models/concerns/hierarchical_entity.rb +++ b/app/models/concerns/hierarchical_entity.rb @@ -114,17 +114,9 @@ module HierarchicalEntity after_validation :set_temporary_auth_path!, on: :create after_validation :maybe_update_auth_path!, on: :update - after_create :populate_orderings! + after_create :maintain_for_create! - after_save :track_parent_changes! - - after_save :maintain_links! - - after_save :refresh_orderings! - - after_save :extract_core_texts! - - after_save :extract_composed_text! + after_update :maintain_for_update! end # @param [String] ancestor_name @@ -251,6 +243,12 @@ def hierarchical_parent_foreign_key :"#{hierarchical_parent&.hierarchical_child_association}_id" if hierarchical_parent.present? end + # @see Entities::IndexSearchDocuments + # @return [Dry::Monads::Success(void)] + monadic_operation! def index_search_documents + call_operation("entities.index_search_documents", entity: self) + end + # @see Links::Connect # @param [HierarchicalEntity] source # @param [String] operator @@ -277,6 +275,28 @@ def linking_entities incoming_links.map(&:source) end + # @see Entities::Maintain + # @see Entities::Maintainer + # @param [:create, :update] maintenance_mode + # @return [Dry::Monads::Success(void)] + monadic_operation! def maintain(maintenance_mode:) + call_operation("entities.maintain", self, maintenance_mode:) + end + + # @see Entities::Maintain + # @see Entities::Maintainer + # @return [Dry::Monads::Success(void)] + monadic_operation! def maintain_for_create + maintain(maintenance_mode: :create) + end + + # @see Entities::Maintain + # @see Entities::Maintainer + # @return [Dry::Monads::Success(void)] + monadic_operation! def maintain_for_update + maintain(maintenance_mode: :update) + end + # @see Links::Maintain monadic_operation! def maintain_links call_operation("links.maintain", self) @@ -324,6 +344,12 @@ def ordering!(identifier) call_operation("entities.calculate_ancestors", self) end + # @see Entities::CalculateAuthorizing + # @return [Dry::Monads::Success(void)] + monadic_operation! def calculate_authorizing + call_operation("entities.calculate_authorizing", auth_path:) + end + # @see Entities::SyncHierarchies monadic_operation! def sync_hierarchies call_operation("entities.sync_hierarchies", self) @@ -359,10 +385,11 @@ def asynchronously_revalidate_frontend_cache! call_operation("schemas.instances.extract_composed_text", self) end - # @see Schemas::Instances::WriteCoreTexts - # @return [Dry::Monads::Success] - monadic_operation! def extract_core_texts - call_operation("schemas.instances.write_core_texts", self) + # @see Schemas::Texts::Write + # @see Schemas::Texts::Writer + # @return [Dry::Monads::Success(HierarchicalEntity)] + monadic_operation! def write_schematic_texts(**options) + call_operation("schemas.texts.write", self, **options) end # @see Ordering.owned_by_or_ordering diff --git a/app/models/concerns/model_mutation_support.rb b/app/models/concerns/model_mutation_support.rb index 7e85dd6d..b0afdeb8 100644 --- a/app/models/concerns/model_mutation_support.rb +++ b/app/models/concerns/model_mutation_support.rb @@ -6,11 +6,14 @@ # The predicate to use in lifecycles is {#in_graphql_mutation?}. # # @see Mutations.with_active -# @see Mutations::Active +# @see Mutations::Current module ModelMutationSupport extend ActiveSupport::Concern - include Dry::Effects.Reader(:graphql_mutation_active, default: false) + # @!attribute [r] graphql_mutation_active + # @see Mutations::Current + # @return [Boolean] whether the current context is within an active GraphQL mutation + def graphql_mutation_active = ::Mutations::Current.active alias graphql_mutation_active? graphql_mutation_active diff --git a/app/models/concerns/syncs_entities.rb b/app/models/concerns/syncs_entities.rb index c871cd37..e5356311 100644 --- a/app/models/concerns/syncs_entities.rb +++ b/app/models/concerns/syncs_entities.rb @@ -2,6 +2,9 @@ # A model that stores a representation of itself in the global {Entity} hierarchy. # +# It exposes {#syncs_entity}, which should be called during some part of the model's +# lifecycle (e.g. after save) in order to keep the {Entity} representation up to date. +# # @see Entities::Sync module SyncsEntities extend ActiveSupport::Concern @@ -9,8 +12,6 @@ module SyncsEntities included do has_one :entity, as: :entity, dependent: :destroy - - after_save :sync_entity! end # @!group Entity Contract diff --git a/app/models/concerns/wraps_schema_property.rb b/app/models/concerns/wraps_schema_property.rb index 98e36698..71a83b7d 100644 --- a/app/models/concerns/wraps_schema_property.rb +++ b/app/models/concerns/wraps_schema_property.rb @@ -24,11 +24,7 @@ module WrapsSchemaProperty scope :sans_paths, ->(paths) { where.not(path: paths) } end - def citextual? - with_email_type? - end + def citextual? = with_email_type? - def textual? - with_email_type? || with_select_type? || with_string_type? - end + def textual? = with_email_type? || with_select_type? || with_string_type? end diff --git a/app/models/concerns/writes_named_variable_dates.rb b/app/models/concerns/writes_named_variable_dates.rb index 6fedd064..e1412a5b 100644 --- a/app/models/concerns/writes_named_variable_dates.rb +++ b/app/models/concerns/writes_named_variable_dates.rb @@ -16,8 +16,6 @@ module WritesNamedVariableDates writes_named_variable_date! :published before_create :create_shared_named_variable_date_records! - - after_save :persist_named_variable_dates! end # @note Overrides {ReferencesNamedVariableDates#named_variable_date_value_for} diff --git a/app/models/entity.rb b/app/models/entity.rb index abacbad8..09a08c0e 100644 --- a/app/models/entity.rb +++ b/app/models/entity.rb @@ -35,7 +35,8 @@ class Entity < ApplicationRecord belongs_to :entity_search_document, primary_key: ENTITY_TUPLE, foreign_key: CONTEXTUAL_TUPLE, - inverse_of: :synchronized_entities + inverse_of: :synchronized_entities, + optional: true has_many :authorizing_entities, inverse_of: :entity, dependent: :delete_all diff --git a/app/models/entity_link.rb b/app/models/entity_link.rb index 74c00db1..64c0368f 100644 --- a/app/models/entity_link.rb +++ b/app/models/entity_link.rb @@ -48,6 +48,7 @@ class EntityLink < ApplicationRecord validates :scope, inclusion: { in: Links::Types::SCOPE_VALUES } validates :target_id, uniqueness: { scope: %i[source_type source_id target_type] } + after_save :sync_entity! after_save :refresh_source_orderings!, unless: :maintenance_mode? # We want to skip refreshing source orderings during link maintenance, diff --git a/app/models/ordering.rb b/app/models/ordering.rb index 83748ae7..d034d217 100644 --- a/app/models/ordering.rb +++ b/app/models/ordering.rb @@ -98,9 +98,7 @@ def compile_ordering_expression call_operation("schemas.orderings.order_builder.compile", definition) end - def defined_in_schema? - schema_version.has_ordering? identifier - end + def defined_in_schema? = schema_version.has_ordering? identifier # @return [void] def disable! @@ -109,9 +107,7 @@ def disable! save! end - def disabled? - disabled_at.present? - end + def disabled? = disabled_at.present? # @return [void] def enable! @@ -132,14 +128,14 @@ def enable! end # @return [] - def order_definitions - Array(definition.order) - end + def order_definitions = Array(definition.order) + # Determine whether or not to refresh this ordering when invoking {Schemas::Instances::RefreshOrderings} + # for a specific entity. This is always true when the entity owns its ordering, but may also be true for + # descendant entities that are covered by this ordering's accepted schemas. + # # @param [HierarchicalEntity] refreshing_entity - def refreshes_for?(refreshing_entity) - entity == refreshing_entity || covers_schema?(refreshing_entity) - end + def refreshes_for?(refreshing_entity) = entity == refreshing_entity || covers_schema?(refreshing_entity) # @see Schemas::Orderings::Refresh # @return [Dry::Monads::Result] @@ -225,10 +221,15 @@ def by_handled_schema_definition(slug) # @see .by_handled_schema_definition # @param [String] slug # @return [Ordering, nil] - def handling_schema(slug) - by_handled_schema_definition(slug).first - end - + def handling_schema(slug) = by_handled_schema_definition(slug).first + + # This is used to determine the set of orderings that should be considered for refreshing + # when {Schemas::Instances::RefreshOrderings} is invoked for a specific entity. It covers: + # + # 1. Orderings owned by the entity itself + # 2. Orderings owned by any ancestor entity that might need to order it (e.g. an article owned by issues, volumes, journal) + # 3. Orderings owned by anything that links to the entity + # # @see HierarchicalEntity#self_and_referring_entities # @param [HierarchicalEntity] entity # @return [ActiveRecord::Relation] diff --git a/app/models/schema_version_property.rb b/app/models/schema_version_property.rb index 22c478f7..17eaba44 100644 --- a/app/models/schema_version_property.rb +++ b/app/models/schema_version_property.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true # A queryable, introspectable version of the various properties on a {SchemaVersion}. +# +# The data here is populated in {Schemas::Versions::ExtractProperties}, +# and is used to populate the materialized view {SchemaDefinitionProperty}. class SchemaVersionProperty < ApplicationRecord include GenericAccessible include TimestampScopes diff --git a/app/models/schematic_text.rb b/app/models/schematic_text.rb index a98b6fad..a3bee44f 100644 --- a/app/models/schematic_text.rb +++ b/app/models/schematic_text.rb @@ -6,6 +6,9 @@ # # @see FullText::Types::Reference # @see Schemas::Properties::Scalar::FullText +# @see Schemas::Properties::Scalar::Markdown +# @see Schemas::Texts::Write +# @see Schemas::Texts::Writer # @see Types::Schematic::FullTextPropertyType class SchematicText < ApplicationRecord include GenericAccessible @@ -34,9 +37,7 @@ class SchematicText < ApplicationRecord # # @see FullText::Types::Reference # @return [{ Symbol => String }] - def to_reference - FullText::Types::Reference[slice(:content, :kind, :lang)] - end + def to_reference = FullText::Types::Reference[slice(:content, :kind, :lang)] # @api private # @return [void] @@ -46,8 +47,7 @@ def normalize_columns! end class << self - def valid_paths_column - :text_reference_paths - end + # @see SchematicPathValidity + def valid_paths_column = :text_reference_paths end end diff --git a/app/operations/entities/audit_authorizing.rb b/app/operations/entities/audit_authorizing.rb index 7571113c..8fc3a99d 100644 --- a/app/operations/entities/audit_authorizing.rb +++ b/app/operations/entities/audit_authorizing.rb @@ -14,7 +14,7 @@ class AuditAuthorizing # Remove any authorizing entities that cannot be found in a calculated # set of _all_ authorizing entities. CLEANUP = <<~SQL - MERGE INTO authorizing_entities ae + MERGE INTO authorizing_entities target USING ( SELECT DISTINCT ON (ent.auth_path, subent.id, subent.scope, subent.hierarchical_type, subent.hierarchical_id) ent.auth_path AS auth_path, @@ -22,14 +22,15 @@ class AuditAuthorizing subent.scope, subent.hierarchical_type, subent.hierarchical_id - FROM entities ent - INNER JOIN entities subent ON ent.auth_path @> subent.auth_path - ) calculated - ON ae.auth_path = calculated.auth_path - AND ae.entity_id = calculated.entity_id - AND ae.scope = calculated.scope - AND ae.hierarchical_type = calculated.hierarchical_type - AND ae.hierarchical_id = calculated.hierarchical_id + FROM entities ent + INNER JOIN entity_hierarchies eh ON eh.ancestor_type = ent.entity_type AND eh.ancestor_id = ent.entity_id + INNER JOIN entities subent ON subent.entity_type = eh.descendant_type AND subent.entity_id = eh.descendant_id + ) source + ON target.auth_path = source.auth_path + AND target.entity_id = source.entity_id + AND target.scope = source.scope + AND target.hierarchical_type = source.hierarchical_type + AND target.hierarchical_id = source.hierarchical_id WHEN NOT MATCHED BY SOURCE THEN DELETE ; diff --git a/app/operations/entities/calculate_authorizing.rb b/app/operations/entities/calculate_authorizing.rb index 038a58e6..f52185ea 100644 --- a/app/operations/entities/calculate_authorizing.rb +++ b/app/operations/entities/calculate_authorizing.rb @@ -2,11 +2,15 @@ module Entities # Calculate the requisite {AuthorizingEntity} rows for a specific `auth_path` (via {Entity}), - # based on Entity staleness, or system-wide when passed `auth_path: nil, stale: false`. + # system-wide when passed `auth_path: nil`. # # If an {Entity} is deleted, all rows associated with that specific entity and its children - # will be removed. However, if a child entity is reparented, it will instead need to be pruned - # by {Entities::AuditAuthorizing} at a later interval. + # will be removed. When an entity is reparented, any lingering authorizing entities will be + # removed by the `MERGE` query's `WHEN NOT MATCHED BY SOURCE` clause. + # + # {Entities::AuditAuthorizing} runs on an interval to ensure that any discrepancies between + # the {Entity} and {AuthorizingEntity} tables are cleaned up, but may be retired soon if + # `MERGE` continues to keep things consistent. class CalculateAuthorizing include Dry::Monads[:do, :result] include QueryOperation @@ -22,30 +26,40 @@ class CalculateAuthorizing subent.hierarchical_type, subent.hierarchical_id FROM entities ent - INNER JOIN entities subent ON ent.auth_path @> subent.auth_path + INNER JOIN entity_hierarchies eh ON eh.ancestor_type = ent.entity_type AND eh.ancestor_id = ent.entity_id + INNER JOIN entities subent ON subent.entity_type = eh.descendant_type AND subent.entity_id = eh.descendant_id SQL # If a row already exists, ignore it. {AuthorizingEntity} has no # updatable columns. SUFFIX = <<~SQL ) - INSERT INTO authorizing_entities - (auth_path, entity_id, scope, hierarchical_type, hierarchical_id) - SELECT auth_path, entity_id, scope, hierarchical_type, hierarchical_id - FROM calculated - LEFT OUTER JOIN authorizing_entities ae USING (auth_path, entity_id, scope, hierarchical_type, hierarchical_id) - WHERE ae.auth_path IS NULL - ON CONFLICT (auth_path, entity_id, scope, hierarchical_type, hierarchical_id) DO NOTHING; + MERGE INTO authorizing_entities AS target + USING calculated AS source + ON target.auth_path = source.auth_path + AND target.entity_id = source.entity_id + AND target.scope = source.scope + AND target.hierarchical_type = source.hierarchical_type + AND target.hierarchical_id = source.hierarchical_id + WHEN MATCHED THEN DO NOTHING + WHEN NOT MATCHED BY TARGET THEN + INSERT (auth_path, entity_id, scope, hierarchical_type, hierarchical_id) + VALUES (source.auth_path, source.entity_id, source.scope, source.hierarchical_type, source.hierarchical_id) + WHEN NOT MATCHED BY SOURCE SQL - # @param [String, nil] auth_path - # @param [HierarchicalEntity] source - # @param [Boolean] stale + # @param [String, nil] auth_path the ltree representing the path of the entity in the context of the hierarchy # @return [Dry::Monads::Success(Integer)] - def call(auth_path: nil, source: nil, stale: false) - query = [PREFIX, generate_infix_for(auth_path:, source:, stale:), SUFFIX] + def call(auth_path: nil) + query = [PREFIX, generate_infix_for(auth_path:), SUFFIX, generate_delete_suffix_for(auth_path:)] + + query << <<~SQL + THEN DELETE + SQL - inserted = sql_insert!(*query) + sql = compile_query(*query) + + inserted = sql_insert!(sql) Success(inserted) end @@ -55,21 +69,25 @@ def call(auth_path: nil, source: nil, stale: false) # Generate an infix to possibly fit between {PREFIX} and {SUFFIX}. # # @param [String] auth_path - # @param [HierarchicalEntity] source - # @param [Boolean] stale # @return [String] - def generate_infix_for(auth_path: nil, source: nil, stale: false) + def generate_infix_for(auth_path: nil) if auth_path.present? - with_sql_template(<<~SQL.squish, path: connection.quote(auth_path)) + with_sql_template(<<~SQL, path: connection.quote(auth_path)) WHERE ent.auth_path @> %s OR ent.auth_path <@ %s SQL - elsif source.present? - with_sql_template(<<~SQL.squish, entity_id: connection.quote(source.id_for_entity), entity_type: connection.quote(source.entity_type)) - WHERE ent.entity_id = %s AND ent.entity_type = %s - SQL - elsif stale - with_sql_template <<~SQL - WHERE ent.stale + else + "" + end + end + + # Generate a condition suffix for the `WHEN NOT MATCHED BY SOURCE` clause. + # + # @param [String] auth_path + # @return [String] + def generate_delete_suffix_for(auth_path: nil) + if auth_path.present? + with_sql_template(<<~SQL, path: connection.quote(auth_path)) + AND (target.auth_path @> %s OR target.auth_path <@ %s) SQL else "" diff --git a/app/operations/entities/calculate_composed_texts.rb b/app/operations/entities/calculate_composed_texts.rb index ce398ad8..a90a0a08 100644 --- a/app/operations/entities/calculate_composed_texts.rb +++ b/app/operations/entities/calculate_composed_texts.rb @@ -6,8 +6,6 @@ class CalculateComposedTexts include Dry::Monads[:do, :result] include QueryOperation - prepend TransactionalCall - PREFIX = <<~SQL WITH aggregated_texts AS ( SELECT entity_type, entity_id, tsvector_agg(document) AS document diff --git a/app/operations/entities/invalidate_related_layouts.rb b/app/operations/entities/invalidate_related_layouts.rb index 78a85fb5..b7847139 100644 --- a/app/operations/entities/invalidate_related_layouts.rb +++ b/app/operations/entities/invalidate_related_layouts.rb @@ -3,21 +3,17 @@ module Entities # Mark a given entity's ancestors and descendants as stale. # - # @see Entities::Captors::RelatedInvalidations # @see Entities::InvalidateAncestorLayoutsJob # @see Entities::InvalidateDescendantLayoutsJob class InvalidateRelatedLayouts include Dry::Monads[:result] - include Entities::Captors::RelatedInvalidations::Interface # @param [HierarchicalEntity] entity # @return [Dry::Monads::Success(void)] def call(entity) - unless related_invalidations_captured?(entity) - Entities::InvalidateAncestorLayoutsJob.perform_later entity + Entities::InvalidateAncestorLayoutsJob.perform_later entity - Entities::InvalidateDescendantLayoutsJob.perform_later entity - end + Entities::InvalidateDescendantLayoutsJob.perform_later entity Success() end diff --git a/app/operations/entities/maintain.rb b/app/operations/entities/maintain.rb new file mode 100644 index 00000000..38093666 --- /dev/null +++ b/app/operations/entities/maintain.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Entities + # @see Entities::Maintainer + class Maintain < Support::SimpleServiceOperation + service_klass Entities::Maintainer + end +end diff --git a/app/operations/entities/sync.rb b/app/operations/entities/sync.rb index 70113357..10cc6008 100644 --- a/app/operations/entities/sync.rb +++ b/app/operations/entities/sync.rb @@ -4,11 +4,8 @@ module Entities # Synchronizes a {SyncsEntities model} into an {Entity} representation. class Sync include Dry::Monads[:do, :result] - include Entities::Captors::Syncs::Interface - include MonadicPersistence include MeruAPI::Deps[ calculate_authorizing: "entities.calculate_authorizing", - index_search_documents: "entities.index_search_documents", prefix_sanitize: "searching.prefix_sanitize", sync_hierarchies: "entities.sync_hierarchies", validate_sync: "entities.validate_sync", @@ -26,9 +23,7 @@ def call(source) yield handle_child_entity! source - yield index_search! source - - yield sync_hierarchies.(source) unless entity_sync_captured?(source) + yield sync_hierarchies.(source) yield calculate_authorizing! source @@ -59,12 +54,9 @@ def attributes_from(source) # @param [{ Symbol => Object }] attributes # @return [Dry::Monads::Result] def upsert!(attributes) - monadic_upsert Entity, attributes, unique_by: UNIQUE_INDEX, skip_find: true - end + Entity.upsert(attributes, unique_by: UNIQUE_INDEX, returning: nil) - # @param [HierarchicalEntity] entity - def index_search!(entity) - index_search_documents.(entity:) + Success() end # @param [ChildEntity] entity @@ -72,7 +64,7 @@ def index_search!(entity) def handle_child_entity!(entity) return Success() unless entity.kind_of?(ChildEntity) - yield maybe_upsert_visibility! entity + ensure_visibility! entity yield entity.calculate_ancestors @@ -80,20 +72,19 @@ def handle_child_entity!(entity) end # @param [ChildEntity] entity - # @return [Dry::Monads::Result] - def maybe_upsert_visibility!(entity) - tuple = {} + # @return [void] + def ensure_visibility!(entity) + visibility = entity.actual_entity_visibility + + return if visibility.persisted? - tuple[:entity_id] = entity.id_for_entity - tuple[:entity_type] = entity.entity_type + visibility.entity_id ||= entity.id - monadic_upsert EntityVisibility, tuple, unique_by: UNIQUE_INDEX, skip_find: true + visibility.save! end # @param [SyncsEntities] source # @return [Dry::Monads::Result] - def calculate_authorizing!(source) - calculate_authorizing.call auth_path: source.entity_auth_path - end + def calculate_authorizing!(source) = calculate_authorizing.call(auth_path: source.entity_auth_path) end end diff --git a/app/operations/schemas/instances/apply.rb b/app/operations/schemas/instances/apply.rb index 4e7af718..008f19fb 100644 --- a/app/operations/schemas/instances/apply.rb +++ b/app/operations/schemas/instances/apply.rb @@ -4,109 +4,11 @@ module Schemas module Instances # Validates and saves schema values from any source to an entity. # - # Values must be provided as a whole—there is presently no "patch" feature, - # owing to the complexity of the inputs. Adding a merge/patch may happen later. - class Apply - include Dry::Monads[:do, :result] - include MeruAPI::Deps[ - apply_value_context: "schemas.instances.apply_value_context", - extract_composed_text: "schemas.instances.extract_composed_text", - extract_orderable_properties: "schemas.instances.extract_orderable_properties", - extract_searchable_properties: "schemas.instances.extract_searchable_properties", - validate_properties: "schemas.properties.validate", - ] - - include MonadicPersistence - - prepend TransactionalCall - - MESSAGES = { - invalid_target: "%s is not a schema instance" - }.freeze - - # @param [HasSchemaDefinition] entity - # @param [#to_h] values - # @return [Dry::Monads::Result] - def call(entity, values) - target, _definition, version = yield validate_target! entity - - target.with_active_mutation! do - yield check_and_assign_version! target, version - - validated_values = yield validate_properties! version, values, target - - yield write_values! target, version, validated_values - - yield monadic_save target - - yield extract_orderable_properties.call target - - yield extract_searchable_properties.call target - - yield extract_composed_text.(target) - - target.schematic_collected_references.reload - target.schematic_scalar_references.reload - target.schematic_texts.reload - end - - yield target.invalidate_all_layouts unless target.in_graphql_mutation? - - Success target - end - - private - - # @param [HasSchemaDefinition] entity - # @return [Dry::Monads::Result::Success(HasSchemaDefinition, SchemaDefinition, SchemaVersion)] - # @return [Dry::Monads::Result::Failure(:invalid_target, String)] - def validate_target!(entity) - return fail_with(:invalid_target, klass: entity.class.inspect) unless entity.kind_of?(HasSchemaDefinition) - - Success[entity, entity.schema_definition, entity.schema_version] - end - - # @todo This should check that we are not overwriting a different version once - # we support more diverse schema declarations. - # - # @return [Dry::Monads::Result] - def check_and_assign_version!(target, version) - target.properties ||= {} - - target.properties.schema = version.to_header - - Success nil - end - - # @see Schemas::Properties::Validate - # @param [SchemaVersion] version - # @param [Hash] values - # @param [HasSchemaDefinition] entity - # @return [Dry::Monads::Result::Success(Dry::Validation::Result)] - # @return [Dry::Monads::Result::Failure(:invalid_values, Dry::Validation::Result)] - def validate_properties!(version, values, entity) - validate_properties.call version, values, instance: entity - end - - # @see Schemas::Instances::ApplyValueContext - # @param [SchemaVersion] version - # @param [Dry::Validation::Result] values - # @return [Dry::Monads::Result] - def write_values!(entity, version, values) - write_context = Schemas::Properties::WriteContext.new entity, version, values - - version.configuration.properties.each do |property| - yield property.write_values_within! write_context - end - - value_context = yield write_context.finalize - - apply_value_context.call entity, value_context - end - - def fail_with(key, **format_args) - Failure[key, MESSAGES[key] % format_args] - end + # To patch a partial set of properties, use {Schemas::Instances::PatchProperties}. + # + # @see Schemas::Instances::PropertiesApplicator + class Apply < Support::SimpleServiceOperation + service_klass Schemas::Instances::PropertiesApplicator end end end diff --git a/app/operations/schemas/instances/apply_value_context.rb b/app/operations/schemas/instances/apply_value_context.rb deleted file mode 100644 index 699925f5..00000000 --- a/app/operations/schemas/instances/apply_value_context.rb +++ /dev/null @@ -1,77 +0,0 @@ -# frozen_string_literal: true - -module Schemas - module Instances - # Takes a {Schemas::Properties::Context} and persists it to a {HasSchemaDefinition schema instance}. - class ApplyValueContext - include Dry::Monads[:do, :result] - - include MonadicPersistence - - include MeruAPI::Deps[ - write_collected_references: "schemas.references.write_collected_references", - write_full_text: "schemas.instances.write_full_text", - write_scalar_reference: "schemas.references.write_scalar_reference" - ] - - # @param [HasSchemaDefinition] entity - # @param [Schemas::Properties::Context] context - # @return [Dry::Monads::Result] - def call(entity, context) - yield assign_values! entity, context - - yield write_collected_references! entity, context - - yield write_full_text! entity, context - - yield write_scalar_references! entity, context - - Success entity - end - - private - - # @param [HasSchemaDefinition] entity - # @param [Schemas::Properties::Context] context - # @return [Dry::Monads::Result] - def assign_values!(entity, context) - entity.properties.values = context.values - - monadic_save entity - end - - # @param [HasSchemaDefinition] entity - # @param [Schemas::Properties::Context] context - # @return [Dry::Monads::Result] - def write_collected_references!(entity, context) - context.collected_references.each do |full_path, referents| - yield write_collected_references.call entity, full_path, referents - end - - Success nil - end - - # @param [HasSchemaDefinition] entity - # @param [Schemas::Properties::Context] context - # @return [Dry::Monads::Result] - def write_full_text!(entity, context) - context.full_texts.each do |full_path, text| - yield write_full_text.call entity, full_path, text - end - - Success nil - end - - # @param [HasSchemaDefinition] entity - # @param [Schemas::Properties::Context] context - # @return [Dry::Monads::Result] - def write_scalar_references!(entity, context) - context.scalar_references.each do |full_path, referent| - yield write_scalar_reference.call entity, full_path, referent - end - - Success nil - end - end - end -end diff --git a/app/operations/schemas/instances/extract_searchable_properties.rb b/app/operations/schemas/instances/extract_searchable_properties.rb index e867df8f..3f4655b8 100644 --- a/app/operations/schemas/instances/extract_searchable_properties.rb +++ b/app/operations/schemas/instances/extract_searchable_properties.rb @@ -8,7 +8,6 @@ class ExtractSearchableProperties include MeruAPI::Deps[ instance_for: "schemas.utility.instance_for", read_searchable_values: "schemas.instances.read_searchable_property_values", - write_full_text: "schemas.instances.write_full_text", ] # @param [HasSchemaDefinition, Entity, EntityLink] schema_instance (@see Schemas::Utility::InstanceFor for acceptable values to pass) @@ -23,16 +22,9 @@ def call(entity, context: nil) entity_attrs = base_attrs_for schema_instance - properties_without_full_text = schema_version.schema_version_properties.searchable.reject do |svp| - svp.with_full_text_type? - end - - markdown_properties, properties = properties_without_full_text.partition(&:with_markdown_type?) - - markdown_properties.each do |svp| - full_text = { kind: "markdown", content: values[svp.path] } - - yield write_full_text.(schema_instance, svp.path, full_text) + properties = schema_version.schema_version_properties.searchable.reject do |svp| + # These are handled by {Schemas::Texts::Writer}. + svp.with_full_text_type? || svp.with_markdown_type? end searchable_attributes = properties.map do |svp| @@ -45,7 +37,7 @@ def call(entity, context: nil) props = yield upsert_searchable_properties! searchable_attributes - result = { md: markdown_properties.size, props: } + result = { props: } Success result end @@ -53,7 +45,9 @@ def call(entity, context: nil) private def upsert_searchable_properties!(attributes) + # :nocov: return Success(0) if attributes.blank? + # :nocov: res = EntitySearchableProperty.upsert_all( attributes, diff --git a/app/operations/schemas/instances/populate_orderings.rb b/app/operations/schemas/instances/populate_orderings.rb index 1e748935..78ec07f0 100644 --- a/app/operations/schemas/instances/populate_orderings.rb +++ b/app/operations/schemas/instances/populate_orderings.rb @@ -2,17 +2,14 @@ module Schemas module Instances - # Given a {SchemaInstance}, read its {SchemaVersion} for any {Schemas::Orderings::Definition ordering definitions} + # Given a {HierarchicalEntity}, read its {SchemaVersion} for any {Schemas::Orderings::Definition ordering definitions} # and then try to create them. # # @operation class PopulateOrderings include Dry::Monads[:do, :result] - include MonadicPersistence include MeruAPI::Deps[reset_ordering: "schemas.orderings.reset"] - prepend TransactionalCall - # @param [HierarchicalEntity] entity # @param [Boolean] reset Run {Schemas::Orderings::Reset} on existing orderings # @return [Dry::Monads::Result] @@ -29,7 +26,7 @@ def call(entity, reset: false) # @param [HierarchicalEntity] entity # @param [Schemas::Ordering::Definition] definition # @param [Boolean] reset - # @return [Dry::Monads::Result] + # @return [Dry::Monads::Success(void)] def populate_definition!(entity, definition, reset: false) ordering = Ordering.by_entity(entity).by_identifier(definition.id).first_or_initialize do |new_record| new_record.schema_version = entity.schema_version @@ -42,10 +39,12 @@ def populate_definition!(entity, definition, reset: false) if ordering.persisted? return reset_ordering.call(ordering) if reset - return Success(nil) + return Success() end - monadic_save ordering + ordering.save! + + Success() end end end diff --git a/app/operations/schemas/instances/refresh_orderings.rb b/app/operations/schemas/instances/refresh_orderings.rb index cc5d9b2d..58db2e06 100644 --- a/app/operations/schemas/instances/refresh_orderings.rb +++ b/app/operations/schemas/instances/refresh_orderings.rb @@ -2,32 +2,43 @@ module Schemas module Instances - # An operation that handles refreshing all orderings associated with a specific entity. + # An operation that handles refreshing all {Ordering}s associated with + # a specific {HierarchicalEntity entity}. # - # @see Schemas::Orderings::RefreshStatus + # The behavior of this operation depends entirely on the + # {Schemas::Orderings::Current current} + # {Schemas::Orderings::RefreshStatus refresh status}. + # + # * when `"sync"`, it will synchronously refresh **all** + # relevant orderings by calling {Schemas::Orderings::Refresh} directly. + # * when `"async"`, it will mark the orderings {Ordering#invalidate! stale}, + # to be processed asynchronously by {OrderingInvalidations::ProcessAllJob}. + # * when `"disabled"`, it will skip refreshing entirely. This should be used + # with caution in live environments, as it means that entity trees will get + # inaccurate over time, as far as being able to browse them. + # + # @see Schemas::Orderings::Refresh class RefreshOrderings include Dry::Effects.Resolve(:refresh_status) include Dry::Monads[:do, :result] - include MonadicPersistence - - include MeruAPI::Deps[refresh: "schemas.orderings.refresh"] # @param [HierarchicalEntity] entity - # @return [Dry::Monads::Result] + # @return [Dry::Monads::Success(void)] def call(entity) - status = refresh_status { Schemas::Orderings::RefreshStatus.new } + status = Schemas::Orderings::Current.refresh_status - return Success() if status.disabled? || status.skip?(entity) + return Success() if status.disabled? Ordering.owned_by_or_ordering(entity).find_each do |ordering| - next if status.skip?(ordering) - + # Skip refreshing this ordering if it doesn't apply, + # for instance an article entity asking about its journal's + # volume ordering. next unless ordering.refreshes_for? entity - if status.deferred? || status.async? + if status.async? ordering.invalidate! else - yield refresh.(ordering) + yield ordering.refresh end end diff --git a/app/operations/schemas/instances/reindex.rb b/app/operations/schemas/instances/reindex.rb index 13f06b70..d3c682a4 100644 --- a/app/operations/schemas/instances/reindex.rb +++ b/app/operations/schemas/instances/reindex.rb @@ -5,14 +5,13 @@ module Instances class Reindex include Dry::Monads[:result, :do] include MeruAPI::Deps[ - extract_core_texts: "schemas.instances.write_core_texts", extract_searchable_properties: "schemas.instances.extract_searchable_properties", extract_composed_text: "schemas.instances.extract_composed_text", ] # @param [HierarchicalEntity] entity def call(entity) - yield extract_core_texts.(entity) + yield entity.write_schematic_texts yield extract_searchable_properties.(entity) diff --git a/app/operations/schemas/instances/write_core_texts.rb b/app/operations/schemas/instances/write_core_texts.rb deleted file mode 100644 index 41a5bff6..00000000 --- a/app/operations/schemas/instances/write_core_texts.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -module Schemas - module Instances - class WriteCoreTexts - include Dry::Monads[:do, :result] - - include MeruAPI::Deps[ - write_full_text: "schemas.instances.write_full_text", - ] - - TEXTS = [ - [:title, ?A], - [:subtitle, ?B], - [:tagline, ?B], - [:summary, ?C], - ].freeze - - # @param [HasSchemaDefinition] entity - def call(entity) - TEXTS.each do |(attr, weight)| - yield upsert_text! entity, attr, weight - end - - Success() - end - - private - - # @param [HasSchema] - def upsert_text!(entity, attr, weight) - return Success() unless entity.respond_to?(attr) - - content = Sanitize.fragment(entity.public_send(attr)) - - path = "$#{attr}$" - - value = { - lang: "en", - kind: "text", - content:, - } - - write_full_text.(entity, path, value, weight:) - end - end - end -end diff --git a/app/operations/schemas/instances/write_full_text.rb b/app/operations/schemas/instances/write_full_text.rb deleted file mode 100644 index 0c196a40..00000000 --- a/app/operations/schemas/instances/write_full_text.rb +++ /dev/null @@ -1,68 +0,0 @@ -# frozen_string_literal: true - -module Schemas - module Instances - class WriteFullText - include Dry::Monads[:do, :result] - - include MeruAPI::Deps[ - derive_dictionary: "full_text.derive_dictionary", - extract_text_content: "full_text.extract_text_content", - normalize: "full_text.normalizer", - ] - - prepend TransactionalCall - - UNIQUE_BY = %i[entity_type entity_id path].freeze - - # @param [HasSchemaDefinition] entity - # @param [String] path - # @param [Hash, SchematicText] value - def call(entity, path, value, weight: ?D) - normalized = normalize.call value - - if normalized[:content].present? - yield upsert!(entity, path, **normalized, weight:) - else - yield clear! entity, path - end - - Success nil - end - - private - - def clear!(entity, path) - Success SchematicText.by_entity(entity).by_path(path).delete_all - end - - # @param [HasSchemaDefinition] entity - # @param [String] path - # @param [String] content - # @param [String] lang - def upsert!(entity, path, content:, kind:, lang:, weight:, **) - attributes = { - entity_type: entity.model_name.to_s, - entity_id: entity.id, - path:, - content:, - kind:, - lang:, - weight:, - } - - attributes[:schema_version_property_id] = property_id_for entity, path - - attributes[:text_content] = extract_text_content.call(content:, kind:) - - attributes[:dictionary] = derive_dictionary.call lang - - Success SchematicText.upsert(attributes, unique_by: UNIQUE_BY) - end - - def property_id_for(entity, path) - entity.schema_version.schema_version_properties.by_path(path).first&.id - end - end - end -end diff --git a/app/operations/schemas/orderings/refresh.rb b/app/operations/schemas/orderings/refresh.rb index fb590d1a..4e97b2c4 100644 --- a/app/operations/schemas/orderings/refresh.rb +++ b/app/operations/schemas/orderings/refresh.rb @@ -7,7 +7,7 @@ module Orderings # Once that finishes, it will purge any entries that should no longer be considered part of # the ordering. class Refresh - include Dry::Monads[:do, :result, :try] + include Dry::Monads[:result] include QueryOperation prepend TransactionalCall @@ -116,15 +116,15 @@ class Refresh # @param [Ordering] ordering # @return [Dry::Monads::Success(void)] def call(ordering) - yield lock! ordering + lock! ordering - yield update! ordering + update! ordering - yield update_ancestors! ordering + update_ancestors! ordering - yield update_siblings! ordering + update_siblings! ordering - yield ordering.calculate_stats + ordering.calculate_stats! Success() end @@ -138,41 +138,33 @@ def call(ordering) def lock!(ordering) query = with_quoted_id_for ordering, LOCK_QUERY - Try do - sql_select! query - end + sql_select! query end # @param [Ordering] ordering - # @return [Dry::Monads::Success(void)] + # @return [void] def update!(ordering) select_query = build_select_statement ordering suffix = with_quoted_id_for ordering, SUFFIX - Try do - sql_insert! PREFIX, select_query, suffix - end + sql_insert! PREFIX, select_query, suffix end # @param [Ordering] ordering - # @return [Dry::Monads::Success(void)] + # @return [void] def update_ancestors!(ordering) update_query = with_quoted_id_for ordering, ANCESTOR_LINK_QUERY - Try do - sql_insert! update_query - end + sql_insert! update_query end # @param [Ordering] ordering - # @return [Dry::Monads::Success(void)] + # @return [void] def update_siblings!(ordering) update_query = with_quoted_id_for ordering, SIBLING_LINK_QUERY - Try do - sql_insert! update_query - end + sql_insert! update_query end # @!endgroup Steps diff --git a/app/operations/schemas/references/write_collected_references.rb b/app/operations/schemas/references/write_collected_references.rb index 5ea5b991..a83a8a64 100644 --- a/app/operations/schemas/references/write_collected_references.rb +++ b/app/operations/schemas/references/write_collected_references.rb @@ -2,36 +2,35 @@ module Schemas module References + # @api private + # @see Schemas::Instances::PropertiesApplicator + # @see SchematicCollectedReference + # @note Non-monadic operation. class WriteCollectedReferences - include Dry::Monads[:do, :result] - - prepend TransactionalCall - UNIQUE_BY = %i[referrer_type referrer_id referent_type referent_id path].freeze # @param [HasSchemaDefinition] referrer # @param [String] path # @param [] referents + # @return [void] def call(referrer, path, referents) - yield clear_missing! referrer, path, referents + clear_missing! referrer, path, referents - yield upsert! referrer, path, referents if referents.any? - - Success nil + upsert! referrer, path, referents if referents.any? end private + # @return [void] def clear_missing!(referrer, path, referents) scope = referrer.schematic_collected_references.by_path(path) scope = scope.where.not(referent: referents) if referents.present? scope.delete_all - - Success nil end + # @return [void] def upsert!(referrer, path, referents) base_columns = { referrer_type: referrer.model_name.to_s, @@ -49,7 +48,7 @@ def upsert!(referrer, path, referents) ) end - Success SchematicCollectedReference.upsert_all(attributes, unique_by: UNIQUE_BY) + SchematicCollectedReference.upsert_all(attributes, unique_by: UNIQUE_BY) end end end diff --git a/app/operations/schemas/references/write_scalar_reference.rb b/app/operations/schemas/references/write_scalar_reference.rb index 89089952..628ef2b9 100644 --- a/app/operations/schemas/references/write_scalar_reference.rb +++ b/app/operations/schemas/references/write_scalar_reference.rb @@ -2,32 +2,40 @@ module Schemas module References + # @api private + # @see Schemas::Instances::PropertiesApplicator + # @see SchematicScalarReference + # @note Non-monadic operation. class WriteScalarReference - include Dry::Monads[:do, :result] - - prepend TransactionalCall - UNIQUE_BY = %i[referrer_type referrer_id path].freeze # @param [HasSchemaDefinition] referrer # @param [String] path # @param [ApplicationRecord, nil] referents + # @return [void] def call(referrer, path, referent) if referent.present? - yield upsert! referrer, path, referent + upsert! referrer, path, referent else - yield clear! referrer, path + clear! referrer, path end - Success nil + return end private + # @param [HasSchemaDefinition] referrer + # @param [String] path + # @return [void] def clear!(referrer, path) - Success SchematicScalarReference.by_referrer(referrer).by_path(path).delete_all + SchematicScalarReference.by_referrer(referrer).by_path(path).delete_all end + # @param [HasSchemaDefinition] referrer + # @param [String] path + # @param [ApplicationRecord] referent + # @return [void] def upsert!(referrer, path, referent) attributes = { referrer_type: referrer.model_name.to_s, @@ -37,7 +45,7 @@ def upsert!(referrer, path, referent) referent_id: referent.id } - Success SchematicScalarReference.upsert(attributes, unique_by: UNIQUE_BY) + SchematicScalarReference.upsert(attributes, unique_by: UNIQUE_BY) end end end diff --git a/app/operations/schemas/texts/write.rb b/app/operations/schemas/texts/write.rb new file mode 100644 index 00000000..052e8f9d --- /dev/null +++ b/app/operations/schemas/texts/write.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Schemas + module Texts + # @see Schemas::Texts::Writer + class Write < Support::SimpleServiceOperation + service_klass Schemas::Texts::Writer + end + end +end diff --git a/app/operations/schemas/versions/extract_properties.rb b/app/operations/schemas/versions/extract_properties.rb index 6c54dbd0..521006f0 100644 --- a/app/operations/schemas/versions/extract_properties.rb +++ b/app/operations/schemas/versions/extract_properties.rb @@ -2,37 +2,102 @@ module Schemas module Versions + # Extract {SchemaVersionProperty} records for a given {SchemaVersion}. + # + # {SchemaDefinitionProperty} records are derived from this and get + # refreshed as part of {System::Checker}. class ExtractProperties include Dry::Monads[:result] + include QueryOperation - prepend TransactionalCall + MERGE_QUERY = <<~SQL + WITH version_props AS ( + %{values_list} + ) + MERGE INTO schema_version_properties AS target + USING version_props AS source + ON target.schema_version_id = source.schema_version_id + AND target.path = source.path + WHEN MATCHED THEN UPDATE SET + schema_definition_id = source.schema_definition_id, + position = source.position, + "array" = source.array, + nested = source.nested, + orderable = source.orderable, + "required" = source.required, + kind = source.kind, + "type" = source.type, + label = source.label, + extract_path = source.extract_path, + metadata = source.metadata, + "function" = source.function, + searchable = source.searchable, + updated_at = CURRENT_TIMESTAMP + WHEN NOT MATCHED THEN INSERT ( + schema_version_id, + schema_definition_id, + position, + "array", + nested, + orderable, + "required", + kind, + "type", + "path", + label, + extract_path, + metadata, + "function", + searchable + ) VALUES ( + source.schema_version_id, + source.schema_definition_id, + source.position, + source.array, + source.nested, + source.orderable, + source.required, + source.kind, + source.type, + source.path, + source.label, + source.extract_path, + source.metadata, + source.function, + source.searchable + ) + WHEN NOT MATCHED BY SOURCE AND target.schema_version_id = %{schema_version_id} THEN DELETE + SQL # @param [SchemaVersion] schema_version - # @return [void] + # @return [Dry::Monads::Success(Boolean)] the boolean signifies whether there were any + # properties to upsert. def call(schema_version) rows = schema_version.to_version_properties - result = { - upserted: 0 - } + if rows.empty? + # If there are no properties, we can skip the upsert and just delete any existing ones + schema_version.schema_version_properties.delete_all - if rows.present? - upserted = SchemaVersionProperty.upsert_all rows, unique_by: %i[schema_version_id path] + return Success(false) + end - result[:upserted] = upserted.length + values_list = ::Utility::ValueSelectQuery.new( + rows, + casts: { + extract_path: "text[]", + metadata: "jsonb", + }, + model_class: SchemaVersionProperty + ).to_sql - existing_paths = rows.pluck :path + schema_version_id = schema_version.quoted_id - # Purge any paths that may have been removed from the current schema version - result[:deleted] = schema_version.schema_version_properties.sans_paths(existing_paths).delete_all - else - result[:deleted] = schema_version.schema_version_properties.delete_all - end + query = MERGE_QUERY % { values_list:, schema_version_id: } - # TODO: Schedule - SchemaDefinitionProperty.refresh! + sql_insert! query - Success result + Success(true) end end end diff --git a/app/operations/system/run_graphql.rb b/app/operations/system/run_graphql.rb new file mode 100644 index 00000000..9f5f5a10 --- /dev/null +++ b/app/operations/system/run_graphql.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module System + # @see System::GraphQLRunner + class RunGraphQL < Support::SimpleServiceOperation + service_klass System::GraphQLRunner + end +end diff --git a/app/services/entities/captors/abstract.rb b/app/services/entities/captors/abstract.rb deleted file mode 100644 index b09bb3e0..00000000 --- a/app/services/entities/captors/abstract.rb +++ /dev/null @@ -1,87 +0,0 @@ -# frozen_string_literal: true - -module Entities - module Captors - # @abstract - class Abstract - extend Dry::Core::ClassAttributes - - defines :base_name, :boolean_name, :set_name, type: ::Entities::Types::Symbol.optional - defines :interface, type: Entities::Types.Instance(Entities::Captors::Interface).optional - - boolean_name :abstract_capture_entity - set_name :abstract_entity_set - - interface nil - - def already_capturing? - __send__(boolean_name).present? - end - - # @!attribute [r] boolean_name - # @return [Symbol] - def boolean_name - self.class.boolean_name - end - - # @!attribute [r] set_name - # @return [Symbol] - def set_name - self.class.set_name - end - - # @return [void] - def wrap! - return yield if already_capturing? - - result = nil - - __send__(:"with_#{boolean_name}", true) do - entities, result = __send__(:"with_#{set_name}", Set.new) do - yield - end - - entities.each do |entity| - entity.reload - rescue ActiveRecord::RecordNotFound - # intentionally left blank - # this could have been a failed transaction - # which would result in an orphaned records - else - handle_each! entity - end - - return result - end - end - - # @abstract - # @param [HierarchicalEntity] entity - # @return [void] - def handle_each!(entity); end - - class << self - # @param [Symbol] boolean - # @param [Symbol] set - # @return [void] - def capture_with!(base) - base_name base - - boolean_name :"capture_#{base_name}" - - set_name :"#{base_name}_set" - - include Dry::Effects::Handler.Reader(boolean_name) - include Dry::Effects::Handler.State(set_name) - include Dry::Effects.Reader(boolean_name, default: false) - - interface = Interface.new(base_name, boolean_name, set_name) - - self.interface interface - - const_set(:Interface, interface) - end - end - end - end -end diff --git a/app/services/entities/captors/interface.rb b/app/services/entities/captors/interface.rb deleted file mode 100644 index cbd59e17..00000000 --- a/app/services/entities/captors/interface.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -module Entities - module Captors - class Interface < Module - # @return [Symbol] - attr_reader :base_name - - # @return [Symbol] - attr_reader :boolean_name - - # @return [Symbol] - attr_reader :set_name - - # @param [Symbol] base_name - # @param [Symbol] boolean_name - # @param [Symbol] set_name - def initialize(base_name, boolean_name, set_name) - @base_name = base_name - @boolean_name = boolean_name - @set_name = set_name - - set_up_effects! - - define_methods! - end - - private - - # @return [void] - def set_up_effects! - include Dry::Effects.Reader(boolean_name, default: false) - include Dry::Effects.State(set_name) - - alias_method :"#{boolean_name}?", boolean_name - end - - def define_methods! - class_eval <<~RUBY, __FILE__, __LINE__ + 1 - def #{base_name}_captured?(entity) - return false unless #{boolean_name}? - - #{set_name} << entity - - return true - end - RUBY - end - end - end -end diff --git a/app/services/entities/captors/related_invalidations.rb b/app/services/entities/captors/related_invalidations.rb deleted file mode 100644 index 8abea393..00000000 --- a/app/services/entities/captors/related_invalidations.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -module Entities - module Captors - # @see Entities::Sync - # @see SyncsEntities - # @see Entities::InvalidateRelatedLayouts - class RelatedInvalidations < Abstract - capture_with! :related_invalidations - - # @param [HierarchicalEntity] entity - def handle_each!(entity) - Entities::InvalidateAncestorLayoutsJob.perform_later entity - - Entities::InvalidateDescendantLayoutsJob.perform_later entity - end - end - end -end diff --git a/app/services/entities/captors/syncs.rb b/app/services/entities/captors/syncs.rb deleted file mode 100644 index 059083ad..00000000 --- a/app/services/entities/captors/syncs.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Entities - module Captors - # @see Entities::Sync - # @see SyncsEntities - class Syncs < Abstract - capture_with! :entity_sync - - # @param [SyncsEntities] source - def handle_each!(source) - Entities::SyncHierarchiesJob.perform_later source - end - end - end -end diff --git a/app/services/entities/maintainer.rb b/app/services/entities/maintainer.rb new file mode 100644 index 00000000..620b1da4 --- /dev/null +++ b/app/services/entities/maintainer.rb @@ -0,0 +1,130 @@ +# frozen_string_literal: true + +module Entities + # {HierarchicalEntity Hierarchical entities} are very complex models with a lot of associated data + # that needs to be denormalized and maintained. + # + # This serve is run after a hierarchical entity is saved in order to consolidate that maintenance + # logic in one place, and to provide benchmarking and disabling of certain maintenance tasks when + # necessary. + # + # @see Entities::Maintain + class Maintainer < Support::HookBased::Actor + include Dry::Initializer[undefined: false].define -> do + param :entity, Entities::Types::Entity + + option :maintenance_mode, Types::MaintenanceMode, default: proc { :update } + end + + # @api private + # @see #invoked_by_shrine + # @return [Regexp] + INVOKED_BY_SHRINE_PATTERN = /Shrine::Plugins::Activerecord::AttacherMethods#activerecord_persist/ + + standard_execution! + + # @return [Boolean] + attr_reader :applied_properties + + alias applied_properties? applied_properties + + # We use this to detect if we're being invoked by Shrine as part of an attachment lifecycle + # method, so we don't run more expensive maintenance tasks that aren't affected by that. + # @return [Boolean] + attr_reader :invoked_by_shrine + + alias invoked_by_shrine? invoked_by_shrine + + def initialize(...) + super + + # Ideally we'd set a property on entity instead, but that requires monkey patching Shrine. + @invoked_by_shrine = caller.grep(INVOKED_BY_SHRINE_PATTERN).present? + end + + # @return [Dry::Monads::Success(void)] + def call + return Success() if invoked_by_shrine? + + run_callbacks :execute do + yield prepare! + + yield sync! + + yield maintain_properties! + + yield run! + + yield maintain_orderings! + + yield indexing! + end + + Success() + end + + wrapped_hook! def prepare + @applied_properties = false + + super + end + + wrapped_hook! def sync + yield entity.sync_entity + + super + end + + wrapped_hook! def maintain_properties + @applied_properties = entity.apply_pending_properties! + + entity.persist_named_variable_dates! if entity.kind_of?(ChildEntity) + + super + end + + wrapped_hook! def run + yield entity.populate_orderings if create? + + entity.track_parent_changes! if update? + + yield entity.maintain_links if update? + + super + end + + wrapped_hook! def maintain_orderings + yield entity.refresh_orderings + + super + end + + wrapped_hook! def indexing + # We can skip this if we applied properties. + yield entity.write_schematic_texts unless applied_properties? + + yield entity.extract_composed_text + + # Asynchronously update the EntitySearchDocument table. + Entities::IndexSearchDocumentsJob.set(wait: 30.seconds).perform_later(entity) + + super + end + + wrapped_hook! def rendering + return super if entity.layout_invalidation_disabled? + + entity.invalidate_layouts! + + entity.invalidate_related_layouts! + + super + end + + private + + def create? = maintenance_mode == :create + + def update? = maintenance_mode == :update + end +end diff --git a/app/services/entities/types.rb b/app/services/entities/types.rb index 510aea32..6cf12cdb 100644 --- a/app/services/entities/types.rb +++ b/app/services/entities/types.rb @@ -45,6 +45,8 @@ module Types HierarchicalType = String.enum(*HIERARCHICAL_TYPES) + MaintenanceMode = Coercible::Symbol.default(:update).enum(:create, :update).fallback(:update) + PurgeMode = Coercible::Symbol.default(:purge).enum(:purge, :mark).fallback(:purge) Scope = EntityScope | ::Links::Types::Scope diff --git a/app/services/mutations.rb b/app/services/mutations.rb index 1301988e..7b3f6ca5 100644 --- a/app/services/mutations.rb +++ b/app/services/mutations.rb @@ -1,18 +1,19 @@ # frozen_string_literal: true +# Mutations are GraphQL operations that modify data. module Mutations extend Dry::Core::ClassAttributes - defines :active, type: ::Support::Types.Instance(::Mutations::Active) - - active Mutations::Active.new - class << self - # @see MutationModelSupport - # @see Mutations::Active + # Set up a block that lets logic within it know that + # a mutation is currently active: this affects certain + # lifecycle methods (e.g. template rendering). + # + # @see ModelMutationSupport + # @see Mutations::Current # @return [void] def with_active!(&) - active.wrap!(&) + Mutations::Current.with_active!(active: true, &) end end end diff --git a/app/services/mutations/active.rb b/app/services/mutations/active.rb deleted file mode 100644 index a3b73042..00000000 --- a/app/services/mutations/active.rb +++ /dev/null @@ -1,57 +0,0 @@ -# frozen_string_literal: true - -module Mutations - # @api private - # @see ModelMutationSupport - # @see Mutations.with_active! - class Active - extend ActiveModel::Callbacks - - include Dry::Effects::Handler.Reader(:graphql_mutation_active) - - define_model_callbacks :wrap - - around_wrap :with_active_mutation! - around_wrap :capture_related_invalidations! - around_wrap :capture_syncs! - - # @return [Entities::Captors::RelatedInvalidations] - attr_reader :related_invalidations_captor - - # @return [Entities::Captors::Syncs] - attr_reader :sync_captor - - def initialize - @related_invalidations_captor = Entities::Captors::RelatedInvalidations.new - @sync_captor = Entities::Captors::Syncs.new - end - - # @return [void] - def wrap! - run_callbacks :wrap do - yield - end - end - - private - - def capture_related_invalidations! - related_invalidations_captor.wrap! do - yield - end - end - - # @return [void] - def capture_syncs! - sync_captor.wrap! do - yield - end - end - - def with_active_mutation! - with_graphql_mutation_active(true) do - yield - end - end - end -end diff --git a/app/services/mutations/current.rb b/app/services/mutations/current.rb new file mode 100644 index 00000000..1a9e96a2 --- /dev/null +++ b/app/services/mutations/current.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Mutations + # @see ModelMutationSupport + class Current < ActiveSupport::CurrentAttributes + attribute :active, default: proc { false } + + resets do + self.active = false + end + + class << self + # Set the current mutation as active for the duration of a block using + # `ActiveSupport::CurrentAttributes`. + # + # @yield a block where the current mutation will be active + # @return [void] + def with_active!(active: false, &) + set(active:, &) + end + end + end +end diff --git a/app/services/schemas/instances/properties_applicator.rb b/app/services/schemas/instances/properties_applicator.rb new file mode 100644 index 00000000..a348e18c --- /dev/null +++ b/app/services/schemas/instances/properties_applicator.rb @@ -0,0 +1,160 @@ +# frozen_string_literal: true + +module Schemas + module Instances + # Validates and saves schema values from any source to an entity. + # + # To patch a partial set of properties, use {Schemas::Instances::PatchProperties}. + # + # @see Schemas::Instances::Apply + class PropertiesApplicator < Support::HookBased::Actor + include Dry::Initializer[undefined: false].define -> do + param :entity, ::Entities::Types::Entity + + param :values, Types::Coercible::Hash, as: :raw_values + end + + alias instance entity + + standard_execution! + + around_execute :lock_entity! + + # @return [Schemas::Properties::Context, nil] + attr_reader :context + + # @return [Schema::Instances::PropertySet] + attr_reader :properties + + # @return [SchemaVersion] + attr_reader :schema_version + + # The validated values, ready to be written. + # + # @return [Hash] + attr_reader :values + + # @return [Dry::Monads::Success(HierarchicalEntity)] + def call + run_callbacks :execute do + yield prepare! + + yield organize_property_values! + + yield write_all_values! + + yield denormalize_values! + + yield reload_references! + end + + yield entity.invalidate_all_layouts unless entity.in_graphql_mutation? + + Success entity + end + + wrapped_hook! def prepare + @context = @values = nil + + @properties = entity.properties.deep_dup + + @schema_version = entity.schema_version + + @values = yield MeruAPI::Container["schemas.properties.validate"].(schema_version, raw_values, instance:) + + enforce_schema_header! + + super + end + + wrapped_hook! def organize_property_values + write_context = Schemas::Properties::WriteContext.new entity, schema_version, values + + schema_version.configuration.properties.each do |property| + yield property.write_values_within! write_context + end + + @context = write_context.finalize + + super + end + + wrapped_hook! def write_all_values + write_values! + write_collected_references! + write_scalar_references! + + yield entity.write_schematic_texts(context:) + + super + end + + wrapped_hook! def denormalize_values + yield entity.extract_orderable_properties(context:) + + yield entity.extract_searchable_properties(context:) + + yield entity.extract_composed_text + + super + end + + wrapped_hook! def reload_references + entity.schematic_collected_references.reload + entity.schematic_scalar_references.reload + entity.schematic_texts.reload + + super + end + + private + + # Ensure the property set schema header is correct + # @todo This should check that we are not overwriting a different version once + # we support more diverse schema declarations. + # @return [void] + def enforce_schema_header! + properties.schema = schema_version.to_header + end + + # @return [void] + def lock_entity! + entity.with_lock do + entity.with_active_mutation! do + yield + end + end + end + + # Writes the property values to the entity and persists + # it with `update_columns` to avoid callbacks. This is + # because the property applicator can be called during + # entity maintenance if `pending_properties` are set. + # + # @return [void] + def write_values! + properties.values = context.values + + entity.update_columns(properties:, updated_at: Time.current) + end + + # Write collected references (e.g. an array of entities referenced by a property) to the database. + # + # @return [void] + def write_collected_references! + context.collected_references.each do |full_path, referents| + MeruAPI::Container["schemas.references.write_collected_references"].call(entity, full_path, referents) + end + end + + # Write scalar references (e.g. a single entity referenced by a property) to the database. + # + # @return [void] + def write_scalar_references! + context.scalar_references.each do |full_path, referent| + MeruAPI::Container["schemas.references.write_scalar_reference"].call(entity, full_path, referent) + end + end + end + end +end diff --git a/app/services/schemas/orderings.rb b/app/services/schemas/orderings.rb index 6d06ec33..22e11109 100644 --- a/app/services/schemas/orderings.rb +++ b/app/services/schemas/orderings.rb @@ -6,69 +6,33 @@ module Orderings class << self # Set options for refreshing orderings as a part of model lifecycles. # + # @see Schemas::Orderings::Current.refresh_with! + # @see Schemas::Orderings::Refresh # @see Schemas::Orderings::RefreshStatus - def refresh(**options) - Schemas::Orderings::RefreshStatus.new(**options).wrap do - yield if block_given? - end - end - - # @see .refresh - # @param [] entities - # @param [{ Symbol => Object }] options + # @param ["async", "disabled", "sync"] mode + # @yield a block where the provided refresh mode will be in effect # @return [void] - def skip_refresh_for(*things, **options, &) - things.flatten! - - options[:skip_entities] ||= [] - options[:skip_identifiers] ||= [] - options[:skip_schemas] ||= [] - - things.each do |thing| - case thing - when ::HierarchicalEntity - options[:skip_entities] << thing - when ::String - options[:skip_identifiers] << thing - when ::SchemaVersion - options[:skip_schemas] << thing - else - # :nocov: - raise ArgumentError, "Don't know how to skip #{thing.inspect}" - # :nocov: - end - end - - refresh(**options, &) + def refresh_with!(mode:, &) + Schemas::Orderings::Current.refresh_with!(mode:, &) end - # @see .refresh - # @param [{ Symbol => Object }] options - # @return [void] - def with_asynchronous_refresh(**options, &) - options[:async] = true - - refresh(**options, &) - end - - # @see https://dry-rb.org/gems/dry-effects/master/effects/defer/ - # @see .refresh - # @param [{ Symbol => Object }] options + # Rather than refresh orderings immediately, specify that they should be + # enqueued in the backend. + # + # @see .refresh_with! # @return [void] - def with_deferred_refresh(**options, &) - options[:deferred] = true - options[:async] = true - - refresh(**options, &) + def with_asynchronous_refresh(&) + refresh_with!(mode: "async", &) end - # @see .refresh - # @param [{ Symbol => Object }] options + # Disable refreshing orderings entirely for the duration of the block. + # May be used in tests, or for manual fixes that will end up reprocessing + # a significant number of orderings en masse after completion. + # + # @see .refresh_with! # @return [void] - def with_disabled_refresh(**options, &) - options[:disabled] = true - - refresh(**options, &) + def with_disabled_refresh(&) + refresh_with!(mode: "disabled", &) end end end diff --git a/app/services/schemas/orderings/current.rb b/app/services/schemas/orderings/current.rb new file mode 100644 index 00000000..dbd5d519 --- /dev/null +++ b/app/services/schemas/orderings/current.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Schemas + module Orderings + # @see Schemas::Orderings + # @see Schemas::Orderings::RefreshStatus + class Current < ActiveSupport::CurrentAttributes + attribute :refresh_status, default: proc { Schemas::Orderings::RefreshStatus.new } + + delegate :async?, :disabled?, :mode, :sync?, to: :refresh_status + + resets do + self.refresh_status = Schemas::Orderings::RefreshStatus.new + end + + class << self + # Set the current {Ordering} refresh mode for the duration of a block + # using `ActiveSupport::CurrentAttributes`. + # + # @param ["async", "disabled", "sync"] mode + # @yield a block where the provided refresh mode will be in effect + # @return [void] + def refresh_with!(mode:, &) + refresh_status = Schemas::Orderings::RefreshStatus.new(mode:) + + set(refresh_status:, &) + end + end + end + end +end diff --git a/app/services/schemas/orderings/refresh_status.rb b/app/services/schemas/orderings/refresh_status.rb index 4511f6d9..87991618 100644 --- a/app/services/schemas/orderings/refresh_status.rb +++ b/app/services/schemas/orderings/refresh_status.rb @@ -2,184 +2,36 @@ module Schemas module Orderings - # Middleware that can handle order refreshing and dictates rules about handling it performantly. - # - # It can be nested multiple times, but is additive only. Setting `disabled` to true in an outer scope - # will make it always true, even if a later scope tries to override it. + # @api private + # @see Schemas::Instances::RefreshOrderings + # @see Schemas::Instances::RefreshOrderingsJob + # @see Schemas::Orderings.refresh_with! class RefreshStatus - include Dry::Core::Memoizable - include Dry::Effects.Resolve(:currently_harvesting) - include Dry::Effects.Resolve(:harvest_attempt) - include Dry::Effects.Resolve(:refresh_orderings_asynchronously) - include Dry::Effects.Resolve(:refresh_orderings_deferred) - include Dry::Effects.Resolve(:refresh_orderings_disabled) - include Dry::Effects.Resolve(:refresh_status) - include Dry::Effects::Handler.Defer - include Dry::Effects::Handler.Resolve - include Dry::Initializer[undefined: false].define -> do - option :async, Schemas::Types::Bool, as: :currently_async, default: proc { false } - option :deferred, Schemas::Types::Bool, as: :currently_deferred, default: proc { false } - option :disabled, Schemas::Types::Bool, as: :currently_disabled, default: proc { false } - option :skip_entities, Support::Models::Types::ModelList, default: proc { [] } - option :skip_schemas, Support::Models::Types::ModelList, default: proc { [] } - option :skip_identifiers, Schemas::Types::Array.of(Schemas::Types::String), default: proc { [] } - end - - # Provide the current ordering refresh configuration to a block - # - # @note There is special handling for the status that is explicitly marked - # as `deferred`, and not just inheriting that value from above. It will - # call `with_defer`, creating a pool to allow refreshes to delay invocation - # until this wrap exits. - # @see https://dry-rb.org/gems/dry-effects/master/effects/defer/ - # @yield a block where {Schemas::Instances::RefreshOrderings} may be invoked - # @yieldreturn [void] - # @return [void] - def wrap - provide build_provisions do - yield - end - end - - # @param [ApplicationRecord] model - def skip?(model) - case model - when ::HierarchicalEntity - skip_entity? model - when ::Ordering - skip_ordering? model - else - false - end - end - - # @!attribute [r] asynchronous - # @return [Boolean] - memoize def asynchronous - currently_async || inherit_async + option :mode, Schemas::Orderings::Types::RefreshMode, default: proc { "sync" } end - alias asynchronous? asynchronous - alias async? asynchronous - - # @!attribute [r] deferred - # @note This exists for legacy reasons until harvesting refactor, - # but is for now ultimately equivalent to async. # @return [Boolean] - memoize def deferred - currently_deferred || inherit_deferred - end + attr_reader :async - alias deferred? deferred + alias async? async - # @!attribute [r] disabled # @return [Boolean] - memoize def disabled - currently_disabled || inherit_disabled - end + attr_reader :disabled alias disabled? disabled - # @!attribute [r] harvesting - # @return [Boolean] - memoize def harvesting - inherit_harvesting - end - - alias harvesting? harvesting - - # @!attribute [r] skipped_entities - # @return [] - memoize def skipped_entities - skip_entities | inherit_skip_entities - end - - # @!attribute [r] skipped_identifiers - # @return [] - memoize def skipped_identifiers - skip_identifiers | inherit_skip_identifiers - end - - # @!attribute [r] skipped_schemas - # @return [] - memoize def skipped_schemas - skip_schemas | inherit_skip_schemas - end - - private - - def build_provisions - { - refresh_orderings_asynchronously: async?, - refresh_orderings_deferred: deferred?, - refresh_orderings_disabled: disabled?, - refresh_skipped_entities: skipped_entities, - refresh_skipped_schemas: skipped_schemas, - refresh_skipped_identifiers: skipped_identifiers, - refresh_status: self, - } - end - - # @return [Boolean] - def inherit_async - inherit_harvesting || refresh_orderings_asynchronously { false } - end - - def inherit_deferred - refresh_orderings_deferred { false }.present? - end - # @return [Boolean] - def inherit_disabled - refresh_orderings_disabled { false }.present? - end - - def inherit_harvesting - harvest_attempt { nil }.present? || currently_harvesting { false }.present? - end + attr_reader :sync - # @return [] - def inherit_skip_entities - Array(parent_status&.skipped_entities) - end - - def inherit_skip_identifiers - Array(parent_status&.skipped_identifiers) - end + alias sync? sync - def inherit_skip_schemas - Array(parent_status&.skipped_schemas) - end - - # @return [Schemas::Orderings::RefreshStatus, nil] - def parent_status - refresh_status { nil } - end - - # @param [HierarchicalEntity] entity - def skip_entity?(entity) - entity.in? skipped_entities - end - - # @param [Ordering] ordering - def skip_ordering?(ordering) - skip_ordering_by_identifier?(ordering) || skip_ordering_by_entity?(ordering) || skip_ordering_by_schema?(ordering) - end - - # @param [Ordering] ordering - def skip_ordering_by_entity?(ordering) - ordering.entity.in? skipped_entities - end - - # @param [Ordering] ordering - def skip_ordering_by_identifier?(ordering) - ordering.identifier.in? skipped_identifiers - end + def initialize(...) + super - # @param [Ordering] ordering - def skip_ordering_by_schema?(ordering) - ordering.inherited_from_schema? && ordering.schema_version.in?(skipped_schemas) + @async = mode == "async" + @disabled = mode == "disabled" + @sync = mode == "sync" end end end diff --git a/app/services/schemas/orderings/types.rb b/app/services/schemas/orderings/types.rb index a55733f5..9f04a9ca 100644 --- a/app/services/schemas/orderings/types.rb +++ b/app/services/schemas/orderings/types.rb @@ -52,6 +52,8 @@ module Types OrderingFilters = Array.of(OrderingFilter) + RefreshMode = Coercible::String.default("sync").enum("sync", "async", "disabled") + RenderMode = Coercible::String.default("flat").enum("flat", "tree").fallback("flat") SelectDirect = Coercible::String.default("children").enum("none", "children", "descendants").fallback("none") diff --git a/app/services/schemas/properties/base_definition.rb b/app/services/schemas/properties/base_definition.rb index 52d30f25..917e636c 100644 --- a/app/services/schemas/properties/base_definition.rb +++ b/app/services/schemas/properties/base_definition.rb @@ -44,35 +44,24 @@ def key path.to_sym end - def array? - false - end + def array? = false - def group? - type == "group" - end + def group? = type == "group" - def nested? - false - end + def nested? = false - def required? - false - end + def required? = false - def scalar? - type != "group" - end + def scalar? = type != "group" + + # @abstract + def searchable? = false # @!attribute [r] kind # @return ["group", "reference", "complex", "simple"] - def kind - group? ? "group" : "simple" - end + def kind = group? ? "group" : "simple" - def version_property_label - path.to_s.titleize - end + def version_property_label = path.to_s.titleize def to_version_property { @@ -87,6 +76,7 @@ def to_version_property required: required?, metadata: to_version_property_metadata, function: 'unspecified', + searchable: searchable?, } end diff --git a/app/services/schemas/properties/context.rb b/app/services/schemas/properties/context.rb index af509559..56f645e0 100644 --- a/app/services/schemas/properties/context.rb +++ b/app/services/schemas/properties/context.rb @@ -7,76 +7,67 @@ module Properties # # @see Types::SchemaInstanceContextType class Context - EMPTY_HASH = proc { {} } - - include Dry::Core::Memoizable + include Dry::Core::Constants include Dry::Initializer[undefined: false].define -> do - option :version, Schemas::Types.Instance(SchemaVersion).optional, default: proc {} - option :instance, Schemas::Types::SchemaInstance.optional, default: proc {} + option :version, Schemas::Types::Version.optional, optional: true + option :instance, Schemas::Types::Entity.optional, optional: true option :type_mapping, Schemas::Properties::TypeMapping::Type, default: proc { version&.type_mapping || Schemas::Properties::TypeMapping.new } - option :values, Schemas::Types::ValueHash, default: EMPTY_HASH - option :full_texts, FullText::Types::Map, default: EMPTY_HASH - option :collected_references, Schemas::References::Types::CollectedMap, default: EMPTY_HASH - option :scalar_references, Schemas::References::Types::ScalarMap, default: EMPTY_HASH + option :values, Schemas::Types::ValueHash, default: proc { EMPTY_HASH } + option :full_texts, FullText::Types::Map, default: proc { EMPTY_HASH } + option :collected_references, Schemas::References::Types::CollectedMap, default: proc { EMPTY_HASH } + option :scalar_references, Schemas::References::Types::ScalarMap, default: proc { EMPTY_HASH } end delegate :has_any_types?, :has_contributors?, :has_type?, to: :type_mapping - # @!attribute [r] current_values # @return [Hash] - memoize def current_values - calculate_current_values - end + attr_reader :current_values - # @!attribute [r] default_values # @return [Hash] - memoize def default_values - {} - end + attr_reader :default_values - # @!attribute [r] field_values # @return [Hash] - memoize def field_values - calculate_field_values - end + attr_reader :field_values - # @!attribute [r] filtered_values + # @api private # @return [::Support::PropertyHash] - memoize def filtered_values - filter_values + attr_reader :known_values + + def initialize(...) + super + + @known_values = filter_values.freeze + + @current_values = calculate_current_values.freeze + + @default_values = EMPTY_HASH + + @field_values = calculate_field_values.freeze end # @param [String] path # @return [] - def collected_reference(path) - collected_references.fetch path, [] - end + def collected_reference(path) = collected_references.fetch(path, EMPTY_ARRAY) # @param [String] path # @return [SchematicText, nil] - def full_text(path) - full_texts[path] - end + def full_text(path) = full_texts[path] # @param [String] path # @return [ApplicationRecord, nil] - def scalar_reference(path) - scalar_references[path] - end + def scalar_reference(path) = scalar_references[path] # @param [String] path # @return [Object, nil] - def value_at(path) - filtered_values[path] - end + def value_at(path) = known_values[path] private # @return [Hash] def calculate_current_values - property_hash = filter_values + property_hash = known_values.dup property_hash.merge! collected_references property_hash.merge! scalar_references @@ -85,9 +76,9 @@ def calculate_current_values property_hash.to_h end - # @return [::Support::PropertyHash] + # @return [Hash] def calculate_field_values - property_hash = filter_values + property_hash = known_values.dup encoded_collections = collected_references.transform_values do |value| value.map(&:to_encoded_id) @@ -104,6 +95,7 @@ def calculate_field_values property_hash.to_h end + # @return [::Support::PropertyHash] def filter_values ::Support::PropertyHash.new(values).tap do |v| v.paths.each do |path| @@ -112,9 +104,10 @@ def filter_values end end + # @param [String] path def known_path?(path) paths = [path].tap do |p| - p << path[/\A([^.]+)\./, 1] if /\./.match?(path) + p << path[/\A([^.]+)\./, 1] if ?..in?(path) end paths.any? { _1.in?(type_mapping.paths) } diff --git a/app/services/schemas/properties/write_context.rb b/app/services/schemas/properties/write_context.rb index e5cee7c1..8667c05a 100644 --- a/app/services/schemas/properties/write_context.rb +++ b/app/services/schemas/properties/write_context.rb @@ -14,10 +14,11 @@ class WriteContext param :input_values, Schemas::Types::ValueHash end - # @return [Dry::Monads::Result] - def finalize - Success Schemas::Properties::Context.new(**value_context) - end + # This is called by the applicator when all the properties have been processed + # and are ready to be written to the entity. + # + # @return [Schemas::Properties::Context] + def finalize = Schemas::Properties::Context.new(**value_context) def within_group!(path) @current_values = fetch_group(path) @@ -39,17 +40,11 @@ def copy_value!(path) Success nil end - def has_value?(path) - current_values.key? path - end + def has_value?(path) = current_values.key? path - def value_for(path) - current_values[path] - end + def value_for(path) = current_values[path] - def write_value!(path, value) - current_output[path] = value - end + def write_value!(path, value) = current_output[path] = value # @param [String] path # @return [void] @@ -97,9 +92,7 @@ def current_output @current_output ||= output_values end - def fetch_group(path) - @input_values.fetch path, {} - end + def fetch_group(path) = @input_values.fetch(path, {}) def full_path_for(path) @prefix.present? ? [@prefix, path].join(?.) : path diff --git a/app/services/schemas/texts/writer.rb b/app/services/schemas/texts/writer.rb new file mode 100644 index 00000000..03c8ba7d --- /dev/null +++ b/app/services/schemas/texts/writer.rb @@ -0,0 +1,254 @@ +# frozen_string_literal: true + +module Schemas + module Texts + # Maintain {SchematicText} records for a {HierarchicalEntity}. + # + # This will compile both core and schematic text references + # into a single query, also taking care of pruning any orphaned + # references that should no longer exist. + # + # @see Schemas::Texts::Write + class Writer < Support::HookBased::Actor + include QueryOperation + + include Dry::Initializer[undefined: false].define -> do + param :entity, Schemas::Types::Entity + + option :context, Schemas::Types.Instance(::Schemas::Properties::Context), default: proc { entity.read_property_context } + end + + standard_execution! + + delegate :id, to: :entity, prefix: true + + # Core entity properties that get serialized into {SchematicText} + # records with specific weights. + # + # @note The "tagline" property is only on {Community} records. + # @return [<(Symbol, String)>] + CORE_TEXTS = [ + [:title, ?A], + [:subtitle, ?B], + [:tagline, ?B], + [:summary, ?C], + ].freeze + + MERGE_QUERY = <<~SQL + WITH derived_texts AS ( + %{source_query} + ) + MERGE INTO schematic_texts AS target + USING derived_texts AS source + ON + target.entity_type = source.entity_type + AND + target.entity_id = source.entity_id + AND + target.path = source.path + WHEN MATCHED AND ( + target.content IS DISTINCT FROM source.content + OR + target.lang IS DISTINCT FROM source.lang + OR + target.kind IS DISTINCT FROM source.kind + OR + target.weight <> source.weight + OR + target.text_content IS DISTINCT FROM source.text_content + OR + target.dictionary <> source.dictionary + OR + target.schema_version_property_id IS DISTINCT FROM source.schema_version_property_id + ) THEN UPDATE SET + content = source.content, + lang = source.lang, + kind = source.kind, + weight = source.weight, + text_content = source.text_content, + dictionary = source.dictionary, + schema_version_property_id = source.schema_version_property_id, + updated_at = CURRENT_TIMESTAMP + WHEN NOT MATCHED BY TARGET THEN + INSERT (entity_type, entity_id, path, content, lang, kind, weight, text_content, dictionary, schema_version_property_id, created_at, updated_at) + VALUES (source.entity_type, source.entity_id, source.path, source.content, source.lang, source.kind, source.weight, source.text_content, source.dictionary, source.schema_version_property_id, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) + WHEN NOT MATCHED BY SOURCE AND target.entity_id = %{entity_id} THEN + DELETE + ; + SQL + + # @return [Hash] + attr_reader :base_row + + # Markdown paths are not really to be used anymore, + # but legacy schema versions may still have them + # and we need to treat them like a full text. + # + # @return [] + attr_reader :markdown_paths + + # @return [{ String => { Symbol => String } }] + attr_reader :property_mapping + + # @return [] + attr_reader :rows + + # @return [SchemaVersion] + attr_reader :schema_version + + # @return [Dry::Monads::Success(HierarchicalEntity)] + def call + run_callbacks :execute do + yield prepare! + + yield build_rows! + + yield build_merge_query! + + yield execute_merge_query! + end + + Success entity + end + + wrapped_hook! def prepare + @base_row = entity.to_entity_pair.freeze + + @query = nil + + @rows = [] + + prepare_properties! + + super + end + + wrapped_hook! def build_rows + add_core_rows! + + add_markdown_rows! + + add_full_text_rows! + + super + end + + wrapped_hook! def build_merge_query + source_query = ::Utility::ValueSelectQuery.new( + rows, + model_class: SchematicText, + ) + + query_options = { + source_query: source_query.to_sql, + entity_id: ApplicationRecord.connection.quote(entity_id) + } + + @query = MERGE_QUERY % query_options + end + + wrapped_hook! def execute_merge_query + sql_insert! @query + + super + end + + private + + # @return [void] + def add_core_rows! + CORE_TEXTS.each do |(attr, weight)| + add_core_row! attr, weight + end + end + + # @return [void] + def add_markdown_rows! + markdown_paths.each do |path| + content = context.value_at(path) + + add_row!(path, content:, kind: "markdown", weight: ?D) + end + end + + # @return [void] + def add_full_text_rows! + context.full_texts.each do |path, raw| + reference = MeruAPI::Container["full_text.normalizer"].(raw) + + add_row!(path, **reference) + end + end + + # @param [Symbol] attr + # @param ["A", "B", "C", "D"] weight + # @return [void] + def add_core_row!(attr, weight) + return unless entity.respond_to?(attr) + + content = Sanitize.fragment(entity.public_send(attr)) + + path = "$#{attr}$" + + add_row!(path, content:, lang: "en", kind: "text", weight:) + end + + # @param [String] path + # @param [String] content + # @param [String, nil] lang + # @param ["text", "markdown", "html"] kind + # @param ["A", "B", "C", "D"] weight + # @return [void] + def add_row!(path, content:, lang: nil, kind: "text", weight: ?D, **) + return if content.blank? + + dictionary = dictionary_for(lang) + + text_content = text_content_for(content, kind) + + schema_version_property_id = property_mapping.dig(path, :id) + + row = base_row.merge( + path:, + content:, + lang:, + kind:, + weight:, + text_content:, + dictionary:, + schema_version_property_id:, + ) + + rows << row + end + + # @return [{ String => { Symbol => String } }] + def calculate_property_mapping + schema_version.schema_version_properties.pluck(:path, :id, :type).to_h do |path, id, type| + [path, { id:, type: }] + end + end + + # @param [String] lang + def dictionary_for(lang) = MeruAPI::Container["full_text.derive_dictionary"].call(lang) + + # @return [void] + def prepare_properties! + @schema_version = entity.schema_version + + @property_mapping = schema_version.schema_version_properties.pluck(:path, :id, :type).to_h do |path, id, type| + [path, { id:, type: }] + end + + @markdown_paths = property_mapping.each_with_object([]) do |(path, mapping), arr| + arr << path if mapping[:type] == "markdown" + end + end + + # @param [String] content + # @param ["text", "markdown", "html"] kind + # @return [String, nil] + def text_content_for(content, kind) = MeruAPI::Container["full_text.extract_text_content"].call(content:, kind:) + end + end +end diff --git a/app/services/schemas/types.rb b/app/services/schemas/types.rb index 967d7161..e4c6fc2f 100644 --- a/app/services/schemas/types.rb +++ b/app/services/schemas/types.rb @@ -58,9 +58,17 @@ module Types end end + Community = ModelInstance("Community") + + Collection = ModelInstance("Collection") + + Item = ModelInstance("Item") + + Entity = Community | Collection | Item + HasSchemaVersion = Interface(:schema_version) - SchemaInstance = Instance(::Community) | Instance(::Collection) | Instance(::Item) + SchemaInstance = Community | Collection | Item ChildAssociation = Symbol.enum(:collections, :children, :items) @@ -105,11 +113,16 @@ module Types end ValueHash = Instance(ActiveSupport::HashWithIndifferentAccess).constructor do |value| - maybe_value = value.respond_to?(:to_h) ? value.to_h : value + case value + when ActiveSupport::HashWithIndifferentAccess then value + when ::Hash then value.with_indifferent_access + else + maybe_value = value.respond_to?(:to_h) ? value.to_h : value - maybe_hash = Coercible::Hash.try maybe_value + maybe_hash = Coercible::Hash.try maybe_value - maybe_hash.to_monad.value_or({}).with_indifferent_access + maybe_hash.to_monad.value_or(Dry::Core::Constants::EMPTY_HASH).with_indifferent_access + end end Version = ModelInstance("SchemaVersion") diff --git a/app/services/seeding/import/middleware.rb b/app/services/seeding/import/middleware.rb index 6d1c02db..f2aeb98f 100644 --- a/app/services/seeding/import/middleware.rb +++ b/app/services/seeding/import/middleware.rb @@ -38,7 +38,7 @@ def call end def with_delayed_orderings - Schemas::Orderings.with_deferred_refresh do + Schemas::Orderings.with_asynchronous_refresh do yield end end diff --git a/app/services/system/checker.rb b/app/services/system/checker.rb index cca4c4d2..9d3828c1 100644 --- a/app/services/system/checker.rb +++ b/app/services/system/checker.rb @@ -55,6 +55,12 @@ def call super end + wrapped_hook! def check_schema_properties + SchemaDefinitionProperty.refresh! + + super + end + private # @param [String] name diff --git a/app/services/system/graphql_runner.rb b/app/services/system/graphql_runner.rb new file mode 100644 index 00000000..875c0aba --- /dev/null +++ b/app/services/system/graphql_runner.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +module System + # @see System::RunGraphQL + class GraphQLRunner < Support::HookBased::Actor + include Dry::Initializer[undefined: false].define -> do + param :query, Types::Query + + option :current_user, ::Users::Types::Current, default: proc { AnonymousUser.new } + + option :operation_name, Types::String.optional, optional: true + + option :validate, Types::Bool, default: proc { false } + + option :variables, Types::GraphQLVariables, default: proc { {} } + + option :visibility_profile, Types::VisibilityProfile, default: proc { :public } + end + + standard_execution! + + # @return [MutationOperations::AuthContext] + attr_reader :auth_context + + # @return [Hash] + attr_reader :context + + # @return [Support::Requests::State] + attr_reader :request_state + + # @return [Hash] + attr_reader :result + + # @return [Dry::Monads::Success(Hash)] + def call + run_callbacks :execute do + yield prepare! + + yield execute_query! + end + + Success result + end + + wrapped_hook! def prepare + @auth_context = MutationOperations::AuthContext.new(current_user:) + + @request_state = Support::Requests::State.new + + @context = { + auth_context:, + current_user:, + request_state:, + visibility_profile: :public + } + + super + end + + wrapped_hook! def execute_query + @result = APISchema.execute(query, variables:, context:, operation_name:, validate:) + + super + end + + around_execute_query :wrap_request! + + private + + # @return [void] + def wrap_request! + request_state.wrap do + yield + end + end + end +end diff --git a/app/services/system/types.rb b/app/services/system/types.rb new file mode 100644 index 00000000..0021f10d --- /dev/null +++ b/app/services/system/types.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module System + module Types + extend ::Support::Typespace + + Query = String.constrained(filled: true) + + GraphQLVariables = Hash.map(Coercible::String, Types::Any) + + VisibilityProfile = Symbol.enum(:public) + end +end diff --git a/app/services/utility/types.rb b/app/services/utility/types.rb index ee0cec89..de24f42a 100644 --- a/app/services/utility/types.rb +++ b/app/services/utility/types.rb @@ -18,5 +18,11 @@ module Types MessageMapValue = MethodName | Callable MessageKeyMap = Hash.map(MessageKey, MessageMapValue) + + ValueSelectCasts = Hash.map(Coercible::Symbol, Coercible::Symbol) + + ValueSelectValue = Hash.map(Coercible::Symbol, Any).constrained(min_size: 1) + + ValueSelectValues = Array.of(ValueSelectValue) end end diff --git a/app/services/utility/value_select_query.rb b/app/services/utility/value_select_query.rb new file mode 100644 index 00000000..8a276af4 --- /dev/null +++ b/app/services/utility/value_select_query.rb @@ -0,0 +1,138 @@ +# frozen_string_literal: true + +module Utility + # A helper for building a `SELECT * FROM (VALUES (...)), ... ) AS tbl (col1, col2, ...)` query with proper type casts. + class ValueSelectQuery + include Dry::Initializer[undefined: false].define -> do + param :values, ::Utility::Types::ValueSelectValues + + option :casts, ::Utility::Types::ValueSelectCasts, default: proc { Dry::Core::Constants::EMPTY_HASH } + option :table_name, ::Utility::Types::String, default: proc { "tbl" } + option :model_class, ::Support::Models::Types::ModelClass.optional, optional: true + end + + DEFAULT_TYPE = ActiveRecord::Type::Value.new.freeze + + # We won't bother casting columns with these types, + # since PG will figure it out. + SKIPPABLE_CASTS = [ + nil, + :boolean, + :string, + :citext, + :text + ].freeze + + # @return [Hash{Symbol => Symbol}] + attr_reader :column_casts + + # @return [Array] + attr_reader :column_names + + # @return [Hash{Symbol => ActiveRecord::Type}] + attr_reader :column_types + + # @return [] + attr_reader :quoted_columns + + # @return [<>] + attr_reader :quoted_values + + # @return [Arel::Table] + attr_reader :table + + # @return [Arel::Nodes::ValuesList] + attr_reader :values_list + + def initialize(...) + super + + compile_columns! + + compile_values_list! + + compile_query! + end + + def to_sql = @query.to_sql + + private + + # @return [void] + def compile_columns! + @column_names = values.reduce([]) { |n, v| n | v.keys } + + @column_types = column_names.index_with { |name| model_class&.type_for_attribute(name.to_s) || DEFAULT_TYPE } + + @column_casts = column_names.index_with { |name| normalize_cast(casts[name] || default_column_cast_for(name)) } + + @quoted_columns = column_names.map { |name| quote_column(name) } + + @table = Arel::Table.new(table_name) + end + + # @return [void] + def compile_values_list! + @quoted_values = quote_values + + @values_list = Arel::Nodes::Grouping.new(Arel::Nodes::ValuesList.new(quoted_values)) + end + + def compile_query! + source = Arel::Nodes::As.new(values_list, Arel.sql("#{table_name}(#{quoted_columns.join(", ")})")) + + projections = column_names.map do |name| + cast = column_casts[name] + + quoted = quote_column(name) + + next quoted unless cast + + Arel.sql("CAST(#{quoted} AS #{cast}) AS #{quoted}") + end + + @query = table.project(*projections).from(source) + end + + def connection = ActiveRecord::Base.connection + + # @param [Symbol] attribute + # @return [String, nil] + def default_column_cast_for(attribute) + return unless model_class + + column = model_class.columns_hash[attribute.to_s] + + stm = column&.sql_type_metadata + + return if stm.blank? || stm.type.in?(SKIPPABLE_CASTS) + + stm.sql_type + end + + def normalize_cast(input) + case input + when :json then :jsonb + when :string, :citext then nil + else input + end + end + + def quote_column(name) = connection.quote_column_name(name) + + def quote_value(value) = connection.quote(value) + + # @return [<>] + def quote_values + values.map do |value_hash| + column_names.map do |name| + serialized = column_types[name].serialize(value_hash[name]) + + quoted = quote_value(serialized) + + Arel.sql(quoted) + end + end + end + end +end diff --git a/db/migrate/20260316200244_correct_entity_property_values.rb b/db/migrate/20260316200244_correct_entity_property_values.rb new file mode 100644 index 00000000..76ddb382 --- /dev/null +++ b/db/migrate/20260316200244_correct_entity_property_values.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +class CorrectEntityPropertyValues < ActiveRecord::Migration[8.1] + TABLES = %i[ + communities + collections + items + ].freeze + + def change + reversible do |dir| + dir.up do + execute <<~SQL + CREATE FUNCTION public.entity_property_values_valid(jsonb) RETURNS boolean AS $$ + SELECT $1 IS NOT NULL AND ($1 -> 'values' IS NULL OR jsonb_typeof($1 -> 'values') = 'object'); + $$ LANGUAGE SQL IMMUTABLE CALLED ON NULL INPUT PARALLEL SAFE; + + COMMENT ON FUNCTION public.entity_property_values_valid(jsonb) IS 'Check that the given JSONB object has a "values" key of the correct type (object or null).'; + SQL + + TABLES.each do |table| + exec_update(<<~SQL, "Correct #{table}.properties.values") + UPDATE #{table} SET + properties = jsonb_set(properties, '{values}', (properties ->> 'values')::jsonb) + WHERE properties ? 'values' AND jsonb_typeof(properties -> 'values') = 'string'; + SQL + end + end + + dir.down do + execute "DROP FUNCTION public.entity_property_values_valid(jsonb);" + end + end + + TABLES.each do |table| + change_table table do |t| + t.check_constraint <<~SQL, name: "chk_#{table}_property_values_safeguard" + public.entity_property_values_valid(properties) + SQL + end + end + end +end diff --git a/db/structure.sql b/db/structure.sql index d38b7296..dc86600f 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -1410,6 +1410,24 @@ SELECT $_$; +-- +-- Name: entity_property_values_valid(jsonb); Type: FUNCTION; Schema: public; Owner: - +-- + +CREATE FUNCTION public.entity_property_values_valid(jsonb) RETURNS boolean + LANGUAGE sql IMMUTABLE PARALLEL SAFE + AS $_$ +SELECT $1 IS NOT NULL AND ($1 -> 'values' IS NULL OR jsonb_typeof($1 -> 'values') = 'object'); +$_$; + + +-- +-- Name: FUNCTION entity_property_values_valid(jsonb); Type: COMMENT; Schema: public; Owner: - +-- + +COMMENT ON FUNCTION public.entity_property_values_valid(jsonb) IS 'Check that the given JSONB object has a "values" key of the correct type (object or null).'; + + -- -- Name: entity_visibility_active(public.entity_visibility, tstzrange, timestamp with time zone); Type: FUNCTION; Schema: public; Owner: - -- @@ -3003,6 +3021,7 @@ CREATE OPERATOR public.< ( FUNCTION = public.vpdate_lt, LEFTARG = public.variable_precision_date, RIGHTARG = public.variable_precision_date, + COMMUTATOR = OPERATOR(public.>), NEGATOR = OPERATOR(public.>=), RESTRICT = scalarltsel, JOIN = scalarltjoinsel @@ -3184,6 +3203,7 @@ CREATE OPERATOR public.<= ( LEFTARG = public.variable_precision_date, RIGHTARG = public.variable_precision_date, COMMUTATOR = OPERATOR(public.>=), + NEGATOR = OPERATOR(public.>), RESTRICT = scalarlesel, JOIN = scalarlejoinsel ); @@ -4205,7 +4225,8 @@ CREATE TABLE public.collections ( cache_warming_default_enabled boolean DEFAULT false NOT NULL, cache_warming_enabled boolean DEFAULT false NOT NULL, cache_warming_status public.cache_warming_status DEFAULT 'default'::public.cache_warming_status NOT NULL, - submission_status public.entity_submission_status DEFAULT 'unsubmitted'::public.entity_submission_status NOT NULL + submission_status public.entity_submission_status DEFAULT 'unsubmitted'::public.entity_submission_status NOT NULL, + CONSTRAINT chk_collections_property_values_safeguard CHECK (public.entity_property_values_valid(properties)) ); @@ -4256,7 +4277,8 @@ CREATE TABLE public.communities ( cache_warming_default_enabled boolean DEFAULT true NOT NULL, cache_warming_enabled boolean DEFAULT false NOT NULL, cache_warming_status public.cache_warming_status DEFAULT 'default'::public.cache_warming_status NOT NULL, - submission_status public.entity_submission_status DEFAULT 'unsubmitted'::public.entity_submission_status NOT NULL + submission_status public.entity_submission_status DEFAULT 'unsubmitted'::public.entity_submission_status NOT NULL, + CONSTRAINT chk_communities_property_values_safeguard CHECK (public.entity_property_values_valid(properties)) ); @@ -4324,7 +4346,8 @@ CREATE TABLE public.items ( cache_warming_default_enabled boolean DEFAULT false NOT NULL, cache_warming_enabled boolean DEFAULT false NOT NULL, cache_warming_status public.cache_warming_status DEFAULT 'default'::public.cache_warming_status NOT NULL, - submission_status public.entity_submission_status DEFAULT 'unsubmitted'::public.entity_submission_status NOT NULL + submission_status public.entity_submission_status DEFAULT 'unsubmitted'::public.entity_submission_status NOT NULL, + CONSTRAINT chk_items_property_values_safeguard CHECK (public.entity_property_values_valid(properties)) ); @@ -4451,9 +4474,9 @@ CREATE MATERIALIZED VIEW public.collection_authorizations AS FROM (public.collections coll JOIN closure_tree ct ON ((ct.collection_id = coll.parent_id))) ) - SELECT closure_tree.community_id, - closure_tree.collection_id, - closure_tree.auth_path + SELECT community_id, + collection_id, + auth_path FROM closure_tree WITH NO DATA; @@ -4605,7 +4628,7 @@ CREATE VIEW public.contextually_assigned_roles AS CREATE TABLE public.contribution_role_configurations ( id uuid DEFAULT gen_random_uuid() NOT NULL, - controlled_vocabulary_id uuid NOT NULL, + controlled_vocabulary_id uuid CONSTRAINT contribution_role_configurati_controlled_vocabulary_id_not_null NOT NULL, default_item_id uuid NOT NULL, other_item_id uuid, source_type character varying NOT NULL, @@ -4706,24 +4729,24 @@ CREATE MATERIALIZED VIEW public.contributor_attributions AS LEFT JOIN public.named_variable_dates nvd USING (entity_id, entity_type)) WHERE (nvd.path = '$published$'::text) ) - SELECT att.attribution_id, - att.attribution_type, - att.contributor_id, - att.collection_id, - att.item_id, - att.entity_id, - att.entity_type, - att.kind, - att.title, - att.has_published, - att.published, - att.published_on, + SELECT attribution_id, + attribution_type, + contributor_id, + collection_id, + item_id, + entity_id, + entity_type, + kind, + title, + has_published, + published, + published_on, dense_rank() OVER publish_w AS published_rank, dense_rank() OVER title_w AS title_rank, - att.created_at, - att.updated_at + created_at, + updated_at FROM hydrated_attributions att - WINDOW publish_w AS (PARTITION BY att.contributor_id ORDER BY COALESCE(att.published_on, (att.created_at)::date), att.title, att.created_at), title_w AS (PARTITION BY att.contributor_id ORDER BY att.title, att.created_at) + WINDOW publish_w AS (PARTITION BY contributor_id ORDER BY COALESCE(published_on, (created_at)::date), title, created_at), title_w AS (PARTITION BY contributor_id ORDER BY title, created_at) WITH NO DATA; @@ -5083,7 +5106,7 @@ CREATE TABLE public.entity_derived_layout_definitions ( schema_version_id uuid NOT NULL, entity_type character varying NOT NULL, entity_id uuid NOT NULL, - layout_definition_type character varying NOT NULL, + layout_definition_type character varying CONSTRAINT entity_derived_layout_definitio_layout_definition_type_not_null NOT NULL, layout_definition_id uuid NOT NULL, layout_kind public.layout_kind NOT NULL, created_at timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, @@ -5124,21 +5147,21 @@ CREATE TABLE public.entity_hierarchies ( -- CREATE VIEW public.entity_descendants AS - SELECT hier.ancestor_type AS parent_type, - hier.ancestor_id AS parent_id, - hier.hierarchical_type AS descendant_type, - hier.hierarchical_id AS descendant_id, - hier.schema_version_id, - hier.link_operator, - hier.auth_path, - hier.descendant_scope AS scope, - hier.title, - hier.depth AS actual_depth, - hier.generations AS relative_depth, - hier.created_at, - hier.updated_at + SELECT ancestor_type AS parent_type, + ancestor_id AS parent_id, + hierarchical_type AS descendant_type, + hierarchical_id AS descendant_id, + schema_version_id, + link_operator, + auth_path, + descendant_scope AS scope, + title, + depth AS actual_depth, + generations AS relative_depth, + created_at, + updated_at FROM public.entity_hierarchies hier - WHERE (hier.ancestor_id <> hier.descendant_id); + WHERE (ancestor_id <> descendant_id); -- @@ -5594,7 +5617,7 @@ CREATE TABLE public.good_jobs ( CREATE TABLE public.harvest_attempt_entity_link_transitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - harvest_attempt_entity_link_id uuid NOT NULL, + harvest_attempt_entity_link_id uuid CONSTRAINT harvest_attempt_entity_link_harvest_attempt_entity_lin_not_null NOT NULL, most_recent boolean NOT NULL, sort_key integer NOT NULL, to_state character varying NOT NULL, @@ -5682,7 +5705,7 @@ CREATE VIEW public.harvest_attempt_entity_statuses AS CREATE TABLE public.harvest_attempt_record_link_transitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - harvest_attempt_record_link_id uuid NOT NULL, + harvest_attempt_record_link_id uuid CONSTRAINT harvest_attempt_record_link_harvest_attempt_record_lin_not_null NOT NULL, most_recent boolean NOT NULL, sort_key integer NOT NULL, to_state character varying NOT NULL, @@ -5725,17 +5748,17 @@ CREATE VIEW public.harvest_attempt_record_statuses AS LEFT JOIN LATERAL ( SELECT COALESCE(mrt.to_state, 'pending'::character varying) AS current_state) deets ON (true)) GROUP BY harvest_attempt_record_links.harvest_attempt_id ) - SELECT stats.harvest_attempt_id, - stats.total_records, - stats.total_records_waiting_for_extraction, - stats.total_records_waiting_for_upsert, - stats.total_records_success, - stats.extraction_stats, - stats.extraction_duration_average, - stats.extraction_duration_stddev, + SELECT harvest_attempt_id, + total_records, + total_records_waiting_for_extraction, + total_records_waiting_for_upsert, + total_records_success, + extraction_stats, + extraction_duration_average, + extraction_duration_stddev, LEAST( CASE - WHEN (stats.total_records > 0) THEN ((stats.total_records_success)::numeric / (stats.total_records)::numeric) + WHEN (total_records > 0) THEN ((total_records_success)::numeric / (total_records)::numeric) ELSE 0.0 END, 1.0) AS completion FROM stats; @@ -5789,7 +5812,7 @@ CREATE TABLE public.harvest_attempts ( CREATE TABLE public.harvest_cached_asset_references ( id uuid DEFAULT gen_random_uuid() NOT NULL, - harvest_cached_asset_id uuid NOT NULL, + harvest_cached_asset_id uuid CONSTRAINT harvest_cached_asset_reference_harvest_cached_asset_id_not_null NOT NULL, cacheable_type character varying NOT NULL, cacheable_id uuid NOT NULL, created_at timestamp(6) without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL, @@ -6107,15 +6130,15 @@ CREATE TABLE public.harvest_sources ( -- CREATE VIEW public.hierarchical_schema_ranks AS - SELECT hier.ancestor_type AS entity_type, - hier.ancestor_id AS entity_id, - hier.schema_definition_id, - count(DISTINCT hier.schema_version_id) AS distinct_version_count, + SELECT ancestor_type AS entity_type, + ancestor_id AS entity_id, + schema_definition_id, + count(DISTINCT schema_version_id) AS distinct_version_count, count(*) AS schema_count, - mode() WITHIN GROUP (ORDER BY hier.depth) AS schema_rank + mode() WITHIN GROUP (ORDER BY depth) AS schema_rank FROM public.entity_hierarchies hier - WHERE (hier.ancestor_id <> hier.descendant_id) - GROUP BY hier.ancestor_type, hier.ancestor_id, hier.schema_definition_id; + WHERE (ancestor_id <> descendant_id) + GROUP BY ancestor_type, ancestor_id, schema_definition_id; -- @@ -6123,15 +6146,15 @@ CREATE VIEW public.hierarchical_schema_ranks AS -- CREATE VIEW public.hierarchical_schema_version_ranks AS - SELECT hier.ancestor_type AS entity_type, - hier.ancestor_id AS entity_id, - hier.schema_definition_id, - hier.schema_version_id, + SELECT ancestor_type AS entity_type, + ancestor_id AS entity_id, + schema_definition_id, + schema_version_id, count(*) AS schema_count, - mode() WITHIN GROUP (ORDER BY hier.depth) AS schema_rank + mode() WITHIN GROUP (ORDER BY depth) AS schema_rank FROM public.entity_hierarchies hier - WHERE (hier.ancestor_id <> hier.descendant_id) - GROUP BY hier.ancestor_type, hier.ancestor_id, hier.schema_definition_id, hier.schema_version_id; + WHERE (ancestor_id <> descendant_id) + GROUP BY ancestor_type, ancestor_id, schema_definition_id, schema_version_id; -- @@ -6169,10 +6192,10 @@ CREATE MATERIALIZED VIEW public.item_authorizations AS JOIN collection_paths coll USING (collection_id)) JOIN item_paths ip ON ((ip.item_id = i.parent_id))) ) - SELECT item_paths.community_id, - item_paths.collection_id, - item_paths.item_id, - item_paths.auth_path + SELECT community_id, + collection_id, + item_id, + auth_path FROM item_paths WITH NO DATA; @@ -6196,12 +6219,12 @@ CREATE TABLE public.item_links ( -- CREATE VIEW public.latest_harvest_attempt_links AS - SELECT DISTINCT ON (harvest_attempts.harvest_source_id, harvest_attempts.harvest_set_id, harvest_attempts.harvest_mapping_id) harvest_attempts.harvest_source_id, - harvest_attempts.harvest_set_id, - harvest_attempts.harvest_mapping_id, - harvest_attempts.id AS harvest_attempt_id + SELECT DISTINCT ON (harvest_source_id, harvest_set_id, harvest_mapping_id) harvest_source_id, + harvest_set_id, + harvest_mapping_id, + id AS harvest_attempt_id FROM public.harvest_attempts - ORDER BY harvest_attempts.harvest_source_id, harvest_attempts.harvest_set_id, harvest_attempts.harvest_mapping_id, harvest_attempts.created_at DESC; + ORDER BY harvest_source_id, harvest_set_id, harvest_mapping_id, created_at DESC; -- @@ -7185,14 +7208,14 @@ CREATE TABLE public.schematic_texts ( -- CREATE VIEW public.stale_entities AS - SELECT DISTINCT ON (layout_invalidations.entity_id) layout_invalidations.sequence_id AS id, - layout_invalidations.entity_type, - layout_invalidations.entity_id, - layout_invalidations.stale_at, - layout_invalidations.created_at, - layout_invalidations.updated_at + SELECT DISTINCT ON (entity_id) sequence_id AS id, + entity_type, + entity_id, + stale_at, + created_at, + updated_at FROM public.layout_invalidations - ORDER BY layout_invalidations.entity_id, layout_invalidations.stale_at DESC; + ORDER BY entity_id, stale_at DESC; -- @@ -7201,7 +7224,7 @@ CREATE VIEW public.stale_entities AS CREATE TABLE public.submission_batch_publication_transitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - submission_batch_publication_id uuid NOT NULL, + submission_batch_publication_id uuid CONSTRAINT submission_batch_publicatio_submission_batch_publicati_not_null NOT NULL, user_id uuid, most_recent boolean NOT NULL, sort_key integer NOT NULL, @@ -7269,7 +7292,7 @@ CREATE TABLE public.submission_deposit_targets ( CREATE TABLE public.submission_publication_transitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - submission_publication_id uuid NOT NULL, + submission_publication_id uuid CONSTRAINT submission_publication_trans_submission_publication_id_not_null NOT NULL, user_id uuid, most_recent boolean NOT NULL, sort_key integer NOT NULL, @@ -7496,8 +7519,8 @@ CREATE TABLE public.templates_blurb_instances ( CREATE TABLE public.templates_cached_entity_list_items ( id uuid DEFAULT gen_random_uuid() NOT NULL, - cached_entity_list_id uuid NOT NULL, - list_item_layout_instance_id uuid NOT NULL, + cached_entity_list_id uuid CONSTRAINT templates_cached_entity_list_ite_cached_entity_list_id_not_null NOT NULL, + list_item_layout_instance_id uuid CONSTRAINT templates_cached_entity_lis_list_item_layout_instance__not_null NOT NULL, schema_version_id uuid NOT NULL, entity_type character varying NOT NULL, entity_id uuid NOT NULL, @@ -7535,7 +7558,7 @@ CREATE TABLE public.templates_cached_entity_lists ( CREATE TABLE public.templates_contributor_list_definitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - layout_definition_id uuid NOT NULL, + layout_definition_id uuid CONSTRAINT templates_contributor_list_defini_layout_definition_id_not_null NOT NULL, layout_kind public.layout_kind DEFAULT 'main'::public.layout_kind NOT NULL, template_kind public.template_kind DEFAULT 'contributor_list'::public.template_kind NOT NULL, "position" bigint NOT NULL, @@ -7556,8 +7579,8 @@ CREATE TABLE public.templates_contributor_list_definitions ( CREATE TABLE public.templates_contributor_list_instances ( id uuid DEFAULT gen_random_uuid() NOT NULL, - layout_instance_id uuid NOT NULL, - template_definition_id uuid NOT NULL, + layout_instance_id uuid CONSTRAINT templates_contributor_list_instance_layout_instance_id_not_null NOT NULL, + template_definition_id uuid CONSTRAINT templates_contributor_list_inst_template_definition_id_not_null NOT NULL, entity_type character varying NOT NULL, entity_id uuid NOT NULL, layout_kind public.layout_kind DEFAULT 'main'::public.layout_kind NOT NULL, @@ -7574,7 +7597,7 @@ CREATE TABLE public.templates_contributor_list_instances ( all_slots_empty boolean DEFAULT false NOT NULL, allow_hide boolean DEFAULT true NOT NULL, hidden boolean DEFAULT false NOT NULL, - hidden_by_empty_slots boolean DEFAULT false NOT NULL + hidden_by_empty_slots boolean DEFAULT false CONSTRAINT templates_contributor_list_insta_hidden_by_empty_slots_not_null NOT NULL ); @@ -7584,7 +7607,7 @@ CREATE TABLE public.templates_contributor_list_instances ( CREATE TABLE public.templates_descendant_list_definitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - layout_definition_id uuid NOT NULL, + layout_definition_id uuid CONSTRAINT templates_descendant_list_definit_layout_definition_id_not_null NOT NULL, layout_kind public.layout_kind DEFAULT 'main'::public.layout_kind NOT NULL, template_kind public.template_kind DEFAULT 'descendant_list'::public.template_kind NOT NULL, "position" bigint NOT NULL, @@ -7594,7 +7617,7 @@ CREATE TABLE public.templates_descendant_list_definitions ( slots jsonb DEFAULT '{}'::jsonb NOT NULL, background public.descendant_list_background DEFAULT 'none'::public.descendant_list_background NOT NULL, variant public.descendant_list_variant DEFAULT 'cards'::public.descendant_list_variant NOT NULL, - selection_source_mode public.selection_source_mode DEFAULT 'self'::public.selection_source_mode NOT NULL, + selection_source_mode public.selection_source_mode DEFAULT 'self'::public.selection_source_mode CONSTRAINT templates_descendant_list_defini_selection_source_mode_not_null NOT NULL, selection_mode public.descendant_list_selection_mode DEFAULT 'manual'::public.descendant_list_selection_mode NOT NULL, selection_source text DEFAULT 'self'::text NOT NULL, title text, @@ -7602,21 +7625,21 @@ CREATE TABLE public.templates_descendant_list_definitions ( dynamic_ordering_definition jsonb, ordering_identifier text, see_all_button_label text, - show_see_all_button boolean DEFAULT false NOT NULL, - show_entity_context boolean DEFAULT false NOT NULL, + show_see_all_button boolean DEFAULT false CONSTRAINT templates_descendant_list_definiti_show_see_all_button_not_null NOT NULL, + show_entity_context boolean DEFAULT false CONSTRAINT templates_descendant_list_definiti_show_entity_context_not_null NOT NULL, manual_list_name text DEFAULT 'manual'::text NOT NULL, selection_source_ancestor_name text, selection_property_path text, show_hero_image boolean DEFAULT false NOT NULL, - use_selection_fallback boolean DEFAULT false NOT NULL, - selection_fallback_mode public.descendant_list_selection_mode DEFAULT 'manual'::public.descendant_list_selection_mode NOT NULL, + use_selection_fallback boolean DEFAULT false CONSTRAINT templates_descendant_list_defin_use_selection_fallback_not_null NOT NULL, + selection_fallback_mode public.descendant_list_selection_mode DEFAULT 'manual'::public.descendant_list_selection_mode CONSTRAINT templates_descendant_list_defi_selection_fallback_mode_not_null NOT NULL, width public.template_width DEFAULT 'full'::public.template_width NOT NULL, see_all_ordering_identifier text, - show_contributors boolean DEFAULT false NOT NULL, - show_nested_entities boolean DEFAULT false NOT NULL, + show_contributors boolean DEFAULT false CONSTRAINT templates_descendant_list_definition_show_contributors_not_null NOT NULL, + show_nested_entities boolean DEFAULT false CONSTRAINT templates_descendant_list_definit_show_nested_entities_not_null NOT NULL, entity_context public.list_entity_context DEFAULT 'none'::public.list_entity_context NOT NULL, browse_style boolean DEFAULT false NOT NULL, - selection_unbounded boolean DEFAULT false NOT NULL + selection_unbounded boolean DEFAULT false CONSTRAINT templates_descendant_list_definiti_selection_unbounded_not_null NOT NULL ); @@ -7627,7 +7650,7 @@ CREATE TABLE public.templates_descendant_list_definitions ( CREATE TABLE public.templates_descendant_list_instances ( id uuid DEFAULT gen_random_uuid() NOT NULL, layout_instance_id uuid NOT NULL, - template_definition_id uuid NOT NULL, + template_definition_id uuid CONSTRAINT templates_descendant_list_insta_template_definition_id_not_null NOT NULL, entity_type character varying NOT NULL, entity_id uuid NOT NULL, layout_kind public.layout_kind DEFAULT 'main'::public.layout_kind NOT NULL, @@ -7645,8 +7668,8 @@ CREATE TABLE public.templates_descendant_list_instances ( all_slots_empty boolean DEFAULT false NOT NULL, allow_hide boolean DEFAULT true NOT NULL, hidden boolean DEFAULT false NOT NULL, - hidden_by_empty_slots boolean DEFAULT false NOT NULL, - hidden_by_entity_list boolean DEFAULT false NOT NULL, + hidden_by_empty_slots boolean DEFAULT false CONSTRAINT templates_descendant_list_instan_hidden_by_empty_slots_not_null NOT NULL, + hidden_by_entity_list boolean DEFAULT false CONSTRAINT templates_descendant_list_instan_hidden_by_entity_list_not_null NOT NULL, entity_list_cached_at timestamp without time zone ); @@ -7791,7 +7814,7 @@ CREATE TABLE public.templates_link_list_definitions ( selection_source_ancestor_name text, show_hero_image boolean DEFAULT false NOT NULL, use_selection_fallback boolean DEFAULT false NOT NULL, - selection_fallback_mode public.link_list_selection_mode DEFAULT 'manual'::public.link_list_selection_mode NOT NULL, + selection_fallback_mode public.link_list_selection_mode DEFAULT 'manual'::public.link_list_selection_mode CONSTRAINT templates_link_list_definition_selection_fallback_mode_not_null NOT NULL, width public.template_width DEFAULT 'full'::public.template_width NOT NULL, see_all_ordering_identifier text, show_contributors boolean DEFAULT false NOT NULL, @@ -7850,7 +7873,7 @@ CREATE TABLE public.templates_list_item_definitions ( use_selection_fallback boolean DEFAULT false NOT NULL, selection_limit integer, selection_mode public.list_item_selection_mode DEFAULT 'manual'::public.list_item_selection_mode NOT NULL, - selection_fallback_mode public.list_item_selection_mode DEFAULT 'manual'::public.list_item_selection_mode NOT NULL, + selection_fallback_mode public.list_item_selection_mode DEFAULT 'manual'::public.list_item_selection_mode CONSTRAINT templates_list_item_definition_selection_fallback_mode_not_null NOT NULL, selection_source_mode public.selection_source_mode DEFAULT 'self'::public.selection_source_mode NOT NULL, dynamic_ordering_definition jsonb, ordering_identifier text, @@ -8096,7 +8119,7 @@ CREATE TABLE public.templates_page_list_instances ( CREATE TABLE public.templates_supplementary_definitions ( id uuid DEFAULT gen_random_uuid() NOT NULL, - layout_definition_id uuid NOT NULL, + layout_definition_id uuid CONSTRAINT templates_supplementary_definitio_layout_definition_id_not_null NOT NULL, layout_kind public.layout_kind DEFAULT 'supplementary'::public.layout_kind NOT NULL, template_kind public.template_kind DEFAULT 'supplementary'::public.template_kind NOT NULL, "position" bigint NOT NULL, @@ -8115,7 +8138,7 @@ CREATE TABLE public.templates_supplementary_definitions ( CREATE TABLE public.templates_supplementary_instances ( id uuid DEFAULT gen_random_uuid() NOT NULL, layout_instance_id uuid NOT NULL, - template_definition_id uuid NOT NULL, + template_definition_id uuid CONSTRAINT templates_supplementary_instanc_template_definition_id_not_null NOT NULL, entity_type character varying NOT NULL, entity_id uuid NOT NULL, layout_kind public.layout_kind DEFAULT 'supplementary'::public.layout_kind NOT NULL, @@ -8132,7 +8155,7 @@ CREATE TABLE public.templates_supplementary_instances ( all_slots_empty boolean DEFAULT false NOT NULL, allow_hide boolean DEFAULT true NOT NULL, hidden boolean DEFAULT false NOT NULL, - hidden_by_empty_slots boolean DEFAULT false NOT NULL + hidden_by_empty_slots boolean DEFAULT false CONSTRAINT templates_supplementary_instance_hidden_by_empty_slots_not_null NOT NULL ); @@ -8442,27 +8465,27 @@ CREATE VIEW public.templates_derived_instance_digests AS JOIN public.layouts_supplementary_instances ON ((layouts_supplementary_instances.id = templates_supplementary_instances.layout_instance_id))) JOIN public.templates_supplementary_definitions ON ((templates_supplementary_definitions.id = templates_supplementary_instances.template_definition_id))) ) - SELECT digested_template_instances.template_instance_id, - digested_template_instances.template_instance_type, - digested_template_instances.template_definition_id, - digested_template_instances.template_definition_type, - digested_template_instances.layout_instance_id, - digested_template_instances.layout_instance_type, - digested_template_instances.layout_definition_id, - digested_template_instances.layout_definition_type, - digested_template_instances.entity_id, - digested_template_instances.entity_type, - digested_template_instances."position", - digested_template_instances.layout_kind, - digested_template_instances.template_kind, - digested_template_instances.width, - digested_template_instances.generation, - digested_template_instances.config, - digested_template_instances.slots, - digested_template_instances.last_rendered_at, - digested_template_instances.render_duration, - digested_template_instances.created_at, - digested_template_instances.updated_at + SELECT template_instance_id, + template_instance_type, + template_definition_id, + template_definition_type, + layout_instance_id, + layout_instance_type, + layout_definition_id, + layout_definition_type, + entity_id, + entity_type, + "position", + layout_kind, + template_kind, + width, + generation, + config, + slots, + last_rendered_at, + render_duration, + created_at, + updated_at FROM digested_template_instances; @@ -16735,6 +16758,7 @@ ALTER TABLE ONLY public.templates_ordering_instances SET search_path TO "$user", public; INSERT INTO "schema_migrations" (version) VALUES +('20260316200244'), ('20260314094207'), ('20260312201100'), ('20260312195907'), diff --git a/lib/global_types/property_hash.rb b/lib/global_types/property_hash.rb index cedc68ab..cff255ed 100644 --- a/lib/global_types/property_hash.rb +++ b/lib/global_types/property_hash.rb @@ -24,6 +24,9 @@ def deserialize(value) cast(super) end + # @return [Hash] + def serialize_for_store_model(value) = cast(value).to_h + # @api private # @note Compatibility method for ActiveRecord::Type # @return [Class] diff --git a/lib/support/lib/property_hash.rb b/lib/support/lib/property_hash.rb index aebd80dc..7037d15d 100644 --- a/lib/support/lib/property_hash.rb +++ b/lib/support/lib/property_hash.rb @@ -3,6 +3,7 @@ module Support # Extracted from an in-progress gem. class PropertyHash + include Dry::Core::Equalizer.new(:inner) include Enumerable KEY_PATH = /\A[^.]+(?:\.[^.]+)+\z/ @@ -12,12 +13,25 @@ class PropertyHash delegate :size, :length, to: :@inner + # @return [] + attr_reader :paths + def initialize(base_hash = {}) @inner = {} - Hash(base_hash).deep_stringify_keys.each do |key, value| - self[key] = value + @path_hash = {}.freeze + + @paths = [].freeze + + @batching = false + + with_batch do + Hash(base_hash).deep_stringify_keys.each do |key, value| + self[key] = value + end end + + derive_paths! end def [](path) @@ -81,11 +95,13 @@ def []=(path, value) raise InvalidPath, "Cannot get path from: #{path.inspect}" # :nocov: end + ensure + derive_paths! unless @batching end - def blank? - @inner.blank? - end + def batching? = @batching + + def blank? = @inner.blank? def delete!(path) self[path] = DELETE @@ -124,17 +140,21 @@ def key?(key) end end + # @param [Hash, PropertyHash] other + # @return [Support::PropertyHash] def merge(other) other_hash = other.kind_of?(PropertyHash) ? other : PropertyHash.new(other) new_hash = PropertyHash.new - each do |key, value| - new_hash[key] = value - end + new_hash.with_batch do + each do |key, value| + new_hash[key] = value + end - other_hash.each do |key, value| - new_hash[key] = value + other_hash.each do |key, value| + new_hash[key] = value + end end return new_hash @@ -142,45 +162,69 @@ def merge(other) alias | merge + # @param [Hash, PropertyHash] other + # @return [self] def merge!(other) other_hash = other.kind_of?(PropertyHash) ? other : PropertyHash.new(other) - other_hash.each do |key, value| - self[key] = value + with_batch do + other_hash.each do |key, value| + self[key] = value + end end return self end - def paths - derive_path_hash.keys - end - # @return [{ String => Object }] - def to_flat_hash - derive_path_hash - end + def to_flat_hash = @path_hash - def to_h - @inner.to_h - end + def to_h = export_inner_hash alias to_hash to_h - def as_json(...) - to_h + def as_json(...) = to_h + + # @param [Support::PropertyHash] other + # @return [void] + def initialize_copy(original) + super + + @inner = original.export_inner_hash + @batching = false + + derive_paths! + end + + # @return [void] + def with_batch + @batching = true + + yield + ensure + @batching = false + + derive_paths! end protected + # @note We don't use deep_dup here because sometimes we want to preserve mutable values in the hash + # @return [Hash] a semi-deep copy of the inner hash + def export_inner_hash + @inner.deep_transform_values do |value| + case value + when Array then value.map { _1 } + else + value + end + end + end + attr_reader :inner private - def derive_path_hash - calculate_nested_paths with: @inner - end - def calculate_nested_paths(with:, on: {}, parent: []) with.each_with_object(on) do |(key, value), h| path = [*parent, key] @@ -196,6 +240,18 @@ def calculate_nested_paths(with:, on: {}, parent: []) end end + def derive_path_hash + calculate_nested_paths with: @inner + end + + # @return [void] + def derive_paths! + @path_hash = derive_path_hash.freeze + @paths = @path_hash.keys.freeze + ensure + @batching = false + end + class InvalidPath < KeyError; end class InvalidNesting < TypeError diff --git a/spec/jobs/entities/index_search_documents_job_spec.rb b/spec/jobs/entities/index_search_documents_job_spec.rb new file mode 100644 index 00000000..be411c1f --- /dev/null +++ b/spec/jobs/entities/index_search_documents_job_spec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +RSpec.describe Entities::IndexSearchDocumentsJob, type: :job do + let_it_be(:collection, refind: true) { FactoryBot.create(:collection) } + + it "creates a SearchDocument for the entity" do + expect do + described_class.perform_now(collection) + end.to change(EntitySearchDocument, :count).by(1) + end +end diff --git a/spec/jobs/schemas/instances/extract_core_texts_job_spec.rb b/spec/jobs/schemas/instances/extract_core_texts_job_spec.rb deleted file mode 100644 index 4d2ebb01..00000000 --- a/spec/jobs/schemas/instances/extract_core_texts_job_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe Schemas::Instances::ExtractCoreTextsJob, type: :job do - let!(:instance) { FactoryBot.create :collection } - - it_behaves_like "a pass-through operation job", "schemas.instances.write_core_texts" do - let(:job_arg) { instance } - - it "enqueues a job to re-extract composed texts" do - expect_running_the_job.to have_enqueued_job(Schemas::Instances::ExtractComposedTextJob).once.with(instance) - end - end -end diff --git a/spec/models/audits/mismatched_collection_parent_spec.rb b/spec/models/audits/mismatched_collection_parent_spec.rb index 08042ba3..c0f8953d 100644 --- a/spec/models/audits/mismatched_collection_parent_spec.rb +++ b/spec/models/audits/mismatched_collection_parent_spec.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true RSpec.describe Audits::MismatchedCollectionParent, type: :model, disable_ordering_refresh: true do - include_context "sans entity sync" - let!(:community) { FactoryBot.create :community } let!(:collection) { FactoryBot.create :collection, community: } let!(:subcollection) { FactoryBot.create :collection, parent: collection } diff --git a/spec/models/audits/mismatched_item_parent_spec.rb b/spec/models/audits/mismatched_item_parent_spec.rb index 1bd32ae5..c9c5f2ff 100644 --- a/spec/models/audits/mismatched_item_parent_spec.rb +++ b/spec/models/audits/mismatched_item_parent_spec.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true RSpec.describe Audits::MismatchedItemParent, type: :model, disable_ordering_refresh: true do - include_context "sans entity sync" - let!(:collection) { FactoryBot.create :collection } let!(:item) { FactoryBot.create :item, collection: } let!(:subitem) { FactoryBot.create :item, parent: item } diff --git a/spec/models/schema_definition_property_spec.rb b/spec/models/schema_definition_property_spec.rb index 8f889df8..ecd9eb7e 100644 --- a/spec/models/schema_definition_property_spec.rb +++ b/spec/models/schema_definition_property_spec.rb @@ -1,33 +1,17 @@ # frozen_string_literal: true RSpec.describe SchemaDefinitionProperty, type: :model do - context "when a new schema version is created" do - it "updates the materialized view" do - expect do - FactoryBot.create :schema_version, :simple_collection, :v1 - end.to change(described_class, :count).by(4) - end - - context "with previous versions" do - let!(:previous_version) { FactoryBot.create :schema_version, :simple_item, :v1 } - - it "picks up on the new properties, if any" do - expect do - FactoryBot.create :schema_version, :simple_item, :v2 - end.to change(described_class, :count).by(1) - end - end - end - context "when a schema has multiple versions" do - let!(:definition) { FactoryBot.create :schema_definition, :simple_item } - let!(:v1) { FactoryBot.create :schema_version, :simple_item, :v1 } - let!(:v2) { FactoryBot.create :schema_version, :simple_item, :v2 } - - let!(:shared_property) { described_class.fetch definition, "foo" } + let_it_be(:definition, refind: true) { FactoryBot.create :schema_definition, :simple_item } + let_it_be(:v1, refind: true) { FactoryBot.create :schema_version, :simple_item, :v1 } + let_it_be(:v2, refind: true) { FactoryBot.create :schema_version, :simple_item, :v2 } context "with property found only in one version" do - let!(:property) { described_class.fetch definition, "bar.quux" } + let!(:property) do + described_class.refresh! + + described_class.fetch definition, "bar.quux" + end subject { property } @@ -37,7 +21,11 @@ end context "with a property that spans versions" do - let!(:property) { described_class.fetch definition, "foo" } + let!(:property) do + described_class.refresh! + + described_class.fetch definition, "foo" + end it "has a reference to each version" do expect(property.covered_version_ids).to contain_exactly v1.id, v2.id diff --git a/spec/operations/entities/calculate_authorizing_spec.rb b/spec/operations/entities/calculate_authorizing_spec.rb index 46dcf142..dc6168f8 100644 --- a/spec/operations/entities/calculate_authorizing_spec.rb +++ b/spec/operations/entities/calculate_authorizing_spec.rb @@ -1,21 +1,17 @@ # frozen_string_literal: true RSpec.describe Entities::CalculateAuthorizing, type: :operation do - let!(:item) { FactoryBot.create :item } + let_it_be(:item, refind: true) { FactoryBot.create :item } - it "works with an auth path" do - expect_calling_with(auth_path: item.entity_auth_path).to succeed + it "works from an entity alias" do + expect(item.calculate_authorizing).to succeed end - it "works with a source" do - expect_calling_with(source: item).to succeed + it "works with an auth path" do + expect_calling_with(auth_path: item.entity_auth_path).to succeed end it "works with no args" do expect_calling.to succeed end - - it "works with stale: false" do - expect_calling_with(stale: false).to succeed - end end diff --git a/spec/operations/schemas/instances/refresh_orderings_spec.rb b/spec/operations/schemas/instances/refresh_orderings_spec.rb index 29cefa74..acb7b68f 100644 --- a/spec/operations/schemas/instances/refresh_orderings_spec.rb +++ b/spec/operations/schemas/instances/refresh_orderings_spec.rb @@ -1,37 +1,31 @@ # frozen_string_literal: true RSpec.describe Schemas::Instances::RefreshOrderings, type: :operation do - let_it_be(:community) do + let_it_be(:community, refind: true) do FactoryBot.create :community end - let_it_be(:journal) do + let_it_be(:journal, refind: true) do FactoryBot.create :collection, schema: "nglp:journal", community: end - let_it_be(:volume) do + let_it_be(:volume, refind: true) do FactoryBot.create :collection, schema: "nglp:journal_volume", parent: journal end - let_it_be(:issue) do + let_it_be(:issue, refind: true) do FactoryBot.create :collection, schema: "nglp:journal_issue", parent: volume end - let_it_be(:article) do + let_it_be(:article, refind: true) do FactoryBot.create :item, schema: "nglp:journal_article", collection: issue end let(:issue_orderings_count) { 4 } let(:article_orderings_count) { 4 } - let!(:refresh_ordering) { TestHelpers::TestOperation.new } - before do - allow(refresh_ordering).to receive(:call).and_call_original - end - - let(:operation) do - described_class.new(refresh: refresh_ordering) + OrderingEntry.delete_all end context "when refreshing an issue" do @@ -40,8 +34,7 @@ expect do expect_calling_with(issue) end.to keep_the_same(OrderingInvalidation, :count) - - expect(refresh_ordering).to have_received(:call).exactly(issue_orderings_count).times + .and change(OrderingEntry, :count) end end end @@ -52,8 +45,7 @@ expect do expect_calling_with(article).to succeed end.to keep_the_same(OrderingInvalidation, :count) - - expect(refresh_ordering).to have_received(:call).exactly(article_orderings_count).times + .and change(OrderingEntry, :count) end end @@ -68,20 +60,7 @@ expect do expect_calling_with(article).to succeed end.to change(OrderingInvalidation, :count).by(article_orderings_count) - - expect(refresh_ordering).not_to have_received(:call) - end - end - - context "when deferred" do - it "defers enqueuing the right number of jobs until the block exits" do - expect do - Schemas::Orderings.with_deferred_refresh do - expect_calling_with(article).to succeed - end - end.to change(OrderingInvalidation, :count).by(article_orderings_count) - - expect(refresh_ordering).not_to have_received(:call) + .and keep_the_same(OrderingEntry, :count) end end end diff --git a/spec/operations/seeding/import/run_spec.rb b/spec/operations/seeding/import/run_spec.rb index 878f93b2..a7bcf759 100644 --- a/spec/operations/seeding/import/run_spec.rb +++ b/spec/operations/seeding/import/run_spec.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true RSpec.describe Seeding::Import::Run, type: :operation, disable_ordering_refresh: true do - include_context "sans entity sync" - let(:import_path) { Rails.root.join "spec", "data", "sample_import.json" } before do diff --git a/spec/requests/graphql/mutations/create_collection_spec.rb b/spec/requests/graphql/mutations/create_collection_spec.rb index 7c60e23a..41cc5bf2 100644 --- a/spec/requests/graphql/mutations/create_collection_spec.rb +++ b/spec/requests/graphql/mutations/create_collection_spec.rb @@ -73,7 +73,7 @@ req.effect! change(Layouts::MainInstance, :count).by(1) req.effect! have_enqueued_job(Entities::InvalidateAncestorLayoutsJob).once req.effect! have_enqueued_job(Entities::InvalidateDescendantLayoutsJob).once - req.effect! have_enqueued_job(Entities::SyncHierarchiesJob).once + req.effect! have_enqueued_job(Entities::IndexSearchDocumentsJob) req.data! expected_shape end @@ -94,7 +94,7 @@ req.effect! change(Ordering, :count).by(2) req.effect! have_enqueued_job(Entities::InvalidateAncestorLayoutsJob).once req.effect! have_enqueued_job(Entities::InvalidateDescendantLayoutsJob).once - req.effect! have_enqueued_job(Entities::SyncHierarchiesJob).once + req.effect! have_enqueued_job(Entities::IndexSearchDocumentsJob) req.data! expected_shape end @@ -111,7 +111,7 @@ req.effect! change(Layouts::MainInstance, :count).by(1) req.effect! have_enqueued_job(Entities::InvalidateAncestorLayoutsJob).once req.effect! have_enqueued_job(Entities::InvalidateDescendantLayoutsJob).once - req.effect! have_enqueued_job(Entities::SyncHierarchiesJob).once + req.effect! have_enqueued_job(Entities::IndexSearchDocumentsJob) req.data! expected_shape end diff --git a/spec/requests/graphql/query/contributors_spec.rb b/spec/requests/graphql/query/contributors_spec.rb index a0a8480d..bae9fdfa 100644 --- a/spec/requests/graphql/query/contributors_spec.rb +++ b/spec/requests/graphql/query/contributors_spec.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true RSpec.describe "Query.contributors", type: :request, disable_ordering_refresh: true do - include_context "sans entity sync" - def create_person_contributor_at(time, item_count:, **attributes) Timecop.freeze time do FactoryBot.create(:contributor, :person, **attributes).tap do |contributor| diff --git a/spec/requests/graphql/query/related_items_spec.rb b/spec/requests/graphql/query/related_items_spec.rb index 8d0a74e0..ccfda354 100644 --- a/spec/requests/graphql/query/related_items_spec.rb +++ b/spec/requests/graphql/query/related_items_spec.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true RSpec.describe "Query.item.relatedItems", type: :request, disable_ordering_refresh: true do - include_context "sans entity sync" - let!(:query) do <<~GRAPHQL query getRelatedItems($slug: Slug!) { diff --git a/spec/support/contexts/ordering_skips.rb b/spec/support/contexts/ordering_skips.rb index 092c799c..b5c521c0 100644 --- a/spec/support/contexts/ordering_skips.rb +++ b/spec/support/contexts/ordering_skips.rb @@ -1,33 +1,13 @@ # frozen_string_literal: true -require_relative "../helpers/test_operation" - -RSpec.shared_context "skipped orderings by schema" do |*declarations| +RSpec.shared_context "disable ordering refreshes" do around do |example| - declarations.flatten! - - versions = declarations.map { |d| SchemaVersion[d] } - - Schemas::Orderings.skip_refresh_for(*versions) do + Schemas::Orderings.with_disabled_refresh do example.run end end end -RSpec.shared_context "disable ordering refreshes" do - before(:all) do - MeruAPI::Container.stub("schemas.instances.refresh_orderings", stubbed_ordering_refresh) - end - - def stubbed_ordering_refresh - TestHelpers::TestOperation.new - end - - after(:all) do - MeruAPI::Container.unstub("schemas.instances.refresh_orderings") - end -end - RSpec.configure do |config| config.include_context "disable ordering refreshes", disable_ordering_refresh: true end diff --git a/spec/support/contexts/sans_entity_sync.rb b/spec/support/contexts/sans_entity_sync.rb deleted file mode 100644 index 28a20f59..00000000 --- a/spec/support/contexts/sans_entity_sync.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -require_relative "../helpers/test_operation" - -RSpec.shared_context "sans entity sync" do - def fake_entity_sync - TestHelpers::TestOperation.new - end - - before(:all) do - MeruAPI::Container.stub("entities.sync", fake_entity_sync) - end - - after(:all) do - MeruAPI::Container.unstub("entities.sync") - end -end diff --git a/spec/support/shared_examples/an_entity_sync_job.rb b/spec/support/shared_examples/an_entity_sync_job.rb index 0a80f20f..f4078aa8 100644 --- a/spec/support/shared_examples/an_entity_sync_job.rb +++ b/spec/support/shared_examples/an_entity_sync_job.rb @@ -1,13 +1,13 @@ # frozen_string_literal: true RSpec.shared_examples_for "an entity sync job", disable_ordering_refresh: true do - include_context "sans entity sync" - let(:entities) { [] } let(:entity_count) { entities.size } it "enqueues a sync job for the expected amount of entities" do + Entity.where(entity: entities).delete_all + expect do described_class.perform_now end.to have_enqueued_job(Entities::SynchronizeJob).exactly(entity_count).times diff --git a/spec/support/shared_examples/an_entity_with_schematic_properties.rb b/spec/support/shared_examples/an_entity_with_schematic_properties.rb index 8760ec08..2aa3f94f 100644 --- a/spec/support/shared_examples/an_entity_with_schematic_properties.rb +++ b/spec/support/shared_examples/an_entity_with_schematic_properties.rb @@ -3,8 +3,8 @@ RSpec.shared_examples_for "an entity with schematic properties" do |var_name| let!(:entity) { public_send(var_name) } - it "can extract core texts" do - expect(entity.extract_core_texts).to be_a_monadic_success + it "can write schematic text references" do + expect(entity.write_schematic_texts).to be_a_monadic_success end it "can extract orderable properties" do From 1ac8a0ce27d8161cb49b099cfd7b06354c3486e4 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Tue, 17 Mar 2026 09:54:38 -0700 Subject: [PATCH 08/10] [C] Add release image building --- .github/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 318317f1..2c17cd44 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - release jobs: deploy: @@ -19,6 +20,7 @@ jobs: registry.digitalocean.com/meru/meru-api tags: |- type=raw,value=latest,enable={{is_default_branch}} + type=raw,value=release,enable=${{ github.ref == 'refs/heads/release' }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Install doctl From 6326d797810ca2879f72d87af2a8340aa2d8c471 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Tue, 17 Mar 2026 11:37:51 -0700 Subject: [PATCH 09/10] [C] Add service label to docker --- .github/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2c17cd44..d1455488 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -21,6 +21,8 @@ jobs: tags: |- type=raw,value=latest,enable={{is_default_branch}} type=raw,value=release,enable=${{ github.ref == 'refs/heads/release' }} + labels: |- + service=meru-api - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Install doctl From 3f5641ad5481bde2391a73d805d9adc312d9fa91 Mon Sep 17 00:00:00 2001 From: Alexa Grey Date: Wed, 18 Mar 2026 15:20:26 -0700 Subject: [PATCH 10/10] [C] Update loofah --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8896d686..5057f3bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -469,7 +469,7 @@ GEM ffi-compiler (~> 1.0) rake (~> 13.0) logger (1.7.0) - loofah (2.25.0) + loofah (2.25.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) lutaml-model (0.7.7)