There's a lot of open issues
Administrative UI for GeoBlacklight. Built on Kithe.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Project Readme

geoblacklight_admin

CI

GeoBlacklight Admin is a GeoBlacklight plugin, built on Kithe, that provides a complex web-form for editing documents and an CSV-based import/export workflow for OpenGeoMetadata's Aardvark schema. GBL Admin is based on the Big Ten Academic Alliance's production workflow tool GEOMG.

GeoBlackliht Admin

Requirements

  • Rails v6.1 (not v7 yet)
  • Blacklight v7 (not v8)
  • GeoBlacklight v4 (not v3)
  • Solr v8.4+
  • PostgreSQL (not MySQL-based DBs)
  • Redis (for Sidekiq)
  • OpenGeoMetadata's Aardvark Schema

Installation

PostgreSQL

You need a PostgreSQL database to use this project.

Install Template

Use Ruby v3.2 and Rails v6.1.7.4 to bootstrap a new GeoBlacklight + GBL Admin application using the template script:

rails _6.1.7.4_ new gbl_admin -m https://raw.githubusercontent.com/geobtaa/geoblacklight_admin/develop/template.rb
cd gbl_admin
bundle exec rake gbl_admin:server

You have now generated the .internal_test_app and populated the Elements / FormElements tables for OMG Aardvark support.

View App in Browser

  1. Visit http://localhost:3000/admin
  2. Click on the "Sign in" link
  3. Enter email: admin@geoblacklight.org and password: 123456
  4. Click on the "GBL Admin" link
  5. Import some CSV (test/fixtures/files/btaa_sample_records.csv)

Run Project for Local Development

Drop and recreate databases (or engine_cart:generate will fail)

Drop/Create application PG database

psql postgres
DROP DATABASE geoblacklight_development;
CREATE DATABASE geoblacklight_development;
cd project root
bundle install
bundle exec rake engine_cart:regenerate

Run Solr

bin/rails geoblacklight:solr

Run App

cd .internal_test_app
bundle exec rails server

Lint App

standardrb .

Test App

RAILS_ENV=test bundle exec rails test

TODOs

  • SolrWrapper - Add persist option
  • BlacklightApi returns not auth'd message (not requiring auth for now (not sensitive data))
  • Facet links need /admin nesting
  • Imports#new -- undefined method `imports_path'
  • Elements#index -- undefined method `element_path'
  • Imports#new -- cannot upload files
  • Import#run -- doesn't fire
  • Documents - JS actions not working
  • GBL needs to honor publication state
  • Add GBL Admin link to nav
  • Routes - Get devise user
  • No route matches [GET] "/users/sign_out"
  • Bookmarks need to be Admin::Bookmarks
  • GitHub Actions / CI integration
  • Port the GEOMG test suite
  • Project gem dependency injection redundancy...
  • DRY up Engine routing
  • Remove legacy GEOMG / B1G everywhere...
  • Send GBLADMIN JavaScript pack to NPM like Blacklight
  • Likely some more polish to be uncovered...