Giter Club home page Giter Club logo

neatline-omeka-s's Introduction

neatline-omeka-s

Neatline plugin for Omeka S

Documentation for this repository is broken down into:

neatline-omeka-s's People

Contributors

dleadbetter avatar akstuhl avatar jamiefolsom avatar feralresearch avatar eam5 avatar jeremyboggs avatar shane-et-al avatar tezcatlipoca avatar

Stargazers

David Valentine avatar Fulvio Scapin avatar Jason Zou avatar  avatar jon ⚝ avatar Trip Kirkpatrick avatar  avatar billxu avatar Claudio Mattutino avatar Corey Tegeler avatar  avatar Erdong avatar Natsuko YOSHIGA avatar

Watchers

Nick Laiacona avatar  avatar Sharon Leon avatar James Cloos avatar  avatar Luke Bergmann avatar Lorin Jameson avatar  avatar Stephen Robertson avatar  avatar  avatar Claudio Mattutino avatar

neatline-omeka-s's Issues

Document Omeka-specific API endpoints and wrapper variables

As a Neatline for Omeka S developer, I want to know what functionality specific to Omeka is included between the Omeka S module (this repository) and the single page application. This will supplement the general list of API endpoints and the exhibit/record schema that the SPA requires, which will be documented in the SPA repository.

Generate secure JWT secret if user does not provide one in environment configuration

As a Neatline developer, I want to have the option to set and view the secret key that will be used to encode and decode JWTs. If I've set an environment variable in my Omeka S server configuration called 'NEATLINE_JWT_SECRET', its value should be used as a secret.

As a Neatline user, I want to be able to install and use the Neatline module for Omeka S without having to learn about JWT or edit my server configuration. The module should, if I haven't provided one in the environment configuration, generate a secure pseudo-random string and store it in Omeka's global settings to serve as the secret key for JWT actions.

Add fields for image-based tile source and attribution

As a Neatline user, I want to be able to use an image-based tile server for my exhibit's default layer, alongside the other available base layer types. In addition, all base layer types outside the predefined spatial layers menu (WMS, static image, and image-based tile server) should have accompanying fields in the exhibit schema as provided by the back-end adapter.

The addition of these fields accompanies https://github.com/performant-software/neatline-3/pull/55 in the front-end repository.

Accommodate non-point geoJSON types in resource and database layers

As a Neatline user, I want to attach a variety of geometry object types to a record. Geometry objects should be passed together as a geoJSON object and converted by the backend into the appropriate format for mySQL storage and querying; they should be converted back into geoJSON when I retrieve their corresponding records in an API request.

Exhibit default map view and related settings

I can't see a way to set a default map view for an exhibit and related settings. Included screenshot of exhibit setting options from previous version for reference. Related issue for record items as well- but the exhibit default map view is critical.

screen shot 2019-02-21 at 9 48 34 am

Provide and document a streamlined installation workflow

As a Neatline developer, I want to be able to quickly set up a local instance of Omeka S with the Neatline module and its included single page application in order to make changes to the back-end Omeka module and/or the front-end application.

A Docker-based approach could provide a quick universal setup for all three components: https://github.com/scholarslab/neatline-omeka-s-docker

One issue for the development setup is how to maintain the usefulness of the create-react-app features (e.g. dynamic reloading) while also providing the ability to view the same version of front-end application rendered in its Omeka view container.

Install Neatline 3 SPA as submodule in views

As a user, I want to be able to install the Neatline module in my Omeka S instance and have it include the full frontend application already configured to work with Omeka S without further build steps. This means the React SPA's production build should be included in any release tags or zip files, and that the full Neatline 3 SPA project (minus dependencies) should be included as a git submodule in this project.

Default base layer does not automatically work

When creating a new Neatline exhibt, even though the Base Layer field appears to have "Open Street Map" selected, those layers are not displayed until you specifically select it again. If this is the default value to start, the layers should appear.

Allow Neatline to interface with sites and items in Omeka S

As a Neatline for Omeka S user, I want to be able to import items as records and link existing records I make to items, as Neatline 2.6.1 currently provides with Omeka Classic. Additionally, I want Neatline 3 to interface with the new concept of Sites in Omeka S, such that Neatline exhibits are automatically scoped to the site in which they are created.

Error: module in database but not in filesystem

I installed Neatline 3.0 to use it with my installation of omeka s, after Installing it all I got is a white screen with the an error message. As I was not able to access any screen in Omeka s I deleted the neatline folder from my host and I regained access to omeka s. However in the modules cp I found the following message replacing the module name: Error: module in database but not in filesystem
How can I delete this module from the database.

Provide API endpoint for exhibit duplication

As a Neatline user, I want to be able to trigger an action that will create a copy of a given exhibit and all its records, assigning the exhibit a unique slug and setting me as its owner.

Developer Setup and Documentation

As a Neatline for Omeka S developer, I want a streamlined workflow for setting up a local instance of Omeka S, installing the Neatline 3 for Omeka S module (this repository), and spinning up the single page React application (linked from this repository as a git submodule as /asset/neatline). Ideally, this setup should allow for the viewing of the SPA in its Omeka-rendered view container, as the end user would experience it, while also providing dynamic reloading through the create-react-app scripts. The documentation should be sufficient that a developer can install any of the three components, (Omeka S, neatline-omeka-s, and neatline-3) individually in a customized setup.

Full-screen public view for exhibits?

Is there a full-screen public view option available? Previous Neatline exhibits all had a link that added /fullscreen to the url to make the exhibit view full screen.

This link should be accessible from the public view page?

Image-based exhibits - bugs while creating new records

There are a lot of bugs when creating a new record for an image-based exhibit:

  • background image resizes/zooms in and out weirdly while typing in record information (title, body). Sometimes zoom level does not readjust on its own, stays super zoomed in.
  • saving record does not stay on the record. Record is saved, but page instead returns a new record form
  • creating new geometry makes exhibit and record setting area on the page go blank/white. Page refresh usual brings it back, but not always.

Include user's Omeka permission level in JWT

As a Neatline user, I want the front-end application to be able to reflect the permission level associated with my user account in the containing Omeka S instance. This information should be included in the JWT payload passed down to the front-end app.

Neatline view breaks between pulling latest version and running upgrade

What happened
Noticing that there was an update on Github, I pulled the latest version of the code, and immediately tried to go to the Neatline view without updating. But all that showed was:

Zend\Permissions\Acl\Exception\InvalidArgumentException
Resource 'Omeka\Controller\Site\Neatline' not found
Details:

exception 'Zend\Permissions\Acl\Exception\InvalidArgumentException' with message 'Resource 'Omeka\Controller\Site\Neatline' not found' in C:\wamp64\www\omeka-s\vendor\zendframework\zend-permissions-acl\src\Acl.php:291
Stack trace:
0 C:\wamp64\www\omeka-s\vendor\zendframework\zend-permissions-acl\src\Acl.php(731): Zend\Permissions\Acl\Acl->getResource('Omeka\\Controlle...')
1 C:\wamp64\www\omeka-s\application\src\Permissions\Acl.php(92): Zend\Permissions\Acl\Acl->isAllowed(Object(Omeka\Entity\User), 'Omeka\\Controlle...', 'browse')
2 C:\wamp64\www\omeka-s\application\src\Mvc\MvcListeners.php(430): Omeka\Permissions\Acl->userIsAllowed('Omeka\\Controlle...', 'browse')
3 C:\wamp64\www\omeka-s\vendor\zendframework\zend-eventmanager\src\EventManager.php(322): Omeka\Mvc\MvcListeners->authorizeUserAgainstController(Object(Zend\Mvc\MvcEvent))
4 C:\wamp64\www\omeka-s\vendor\zendframework\zend-eventmanager\src\EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure))
5 C:\wamp64\www\omeka-s\vendor\zendframework\zend-mvc\src\Application.php(332): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent))
6 C:\wamp64\www\omeka-s\index.php(21): Zend\Mvc\Application->run()
7 {main}

The rest of the omeka-s continued working, but any Neatline view with "/neatline" gave the message above.

To fix
All that was necessary to fix was to go to modules in omeka-s, and click update next to Neatline.

Additional comments by @akstuhl:

The Upgrade button is a standard part of how Omeka modules add fields to their database tables - so the note in the PR was to make sure anyone testing for the presence of those new fields knew to click Upgrade first, otherwise they wouldn’t see them. However, an end user who replaces their copy of the module with the latest version would reasonably expect the module to continue working between when they did that and when they ran the upgrade.

Permissions and authorization

As a Neatline for Omeka user, I want the permitted actions and ownership for Neatline resources to interface with Omeka's user accounts and permission levels.

Add Neatline exhibit settings for site inclusion and routing

As a Neatline for Omeka S user, I want to create and view an exhibit within the scope of a particular Site in my Omeka S instance.

Question for team: do we support associating a single Neatline exhibit with multiple Omeka sites?

  • add an “associated resource(s)” field/association to the exhibit API schema so that a Site ID can be attached
  • filter exhibits list by the Site specified in URL when viewing the SPA inside an Omeka instance
  • automatically assign the Site specified in URL as a new exhibit’s associated resource when using the SPA inside an Omeka instance

Clicking from an open record setting to exhibit settings

While in the Record settings, if I click on a record, or click on the corresponding geometry, it opens the record - thats great- but if I then click on 'Exhibit Settings' with the record still open, the record remains highlighted in the view box (with the title box visible).

Maybe the exhibit view should always revert to the default exhibit view (once these settings are added) when the 'Exhibit Settings' tab is open?

This occurs in both map and image based exhibits

Document current git/Heroku deployment workflow

In the first development sprint for Neatline 3 with Omeka S, we used a git-based deployment workflow for reviewing new features on a Heroku staging instance. Documentation of this approach should be added to the ReadMe here for use by other developers and/or consideration in the design of a new deployment strategy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.