Neatline: possible to make "linked" records?

In conversations with a researcher whose project we are supporting in Omeka/Neatline, we are interested in pursuing the feasibility of popups-within-popups; please bear with me while I try to explain:
Imagine you are preparing a mapping project of an artist's travels through Europe in the late 19thC, using her letters as primary source material. The transcribed text of the letters appear in individual records, which pop up upon being clicked. (All's well so far!) This person visits many important places and people, and describes these visits in the letter. These people and places are themselves the possible subject of rich annotations. I know that we can insert hyperlinks and images inline with the transcribed letter, but additional descriptive text would likely be distracting. Instead, wouldn't it be great if you could click on a hyperlinked icon (or text even) within the body of the pop-up record that caused another pop-up (or hover) window to appear with "more info" about that person/place? Now, I imagine this is possible with some web technology that is beyond me at the moment... but it occurred to me that what would be STELLAR would be to allow this kind of info to make use of the Neatline data model (with title, body, html capabilities, etc.). (I imagine that one could also use the Omeka data structure, but not all of these annotations would deserve their own Omeka record...) I don't know enough about the data structure to know what kind of special coding this would entail...assuming it's possible to begin with?
Thanks for reading!

Hi Jen,

This should be possible, and there are a variety of ways you could approach it. The inception of popups should be easy enough: You'd need to write some javascript to create a popup when you click on a certain link. I imagine this would work whether its in the Neatline popup window or any other text in your Omeka site.

As for the data that would be displayed in the second popup, you're right that it could use Omeka's data structure, e.g. Items. It could also be a separate kind of Omeka record that you'd create with a plugin. It could also be written inline with the body of the original popup (e.g. a hidden div at the bottom of the description, or a data attribute on the link itself), and only displayed some other way if you click on a specific link. I imagine your approach would be dictated by the kind of material you'd like to be able to display, whether you'd want to be able to reuse it in other exhibits or contexts, and whether you'd want to be able to query it independently of a Neatline exhibit. If yes to either of the latter two, you'd likely want to either use Omeka Items or create your own record type for these.

Good luck!

Hey Jen,

Just to add to what Jeremy said - yes, this should definitely be possible, and it's actually just the type of use pattern that we imagined when we wrote the "presenter" system in Neatline, which is specifically designed to make it easy for developers to customize the final display pattern of records.

Think of a presenter as a mode of showing the content in a record - by default, Neatline ships with the "Static Bubble" presenter, which just displays the title/body for the record at the top left of the map viewport. But you can write little mini-plugins for Omeka that hook into Neatline's API and add new presenters, which are basically just little chunks of Javascript that "listen" for events on the page (eg, the cursor hovering on a record) and then display content in a certain way. For example, you could write a presenter that would show records with images as fullscreen overlays, a presenter to show a "floating" bubble that would track the cursor, or a presenter that could trigger other events in the exhibit, which would make it possible to do what you're talking about.

The specific implementation would depend on exactly what your colleague needs, but, regardless, this should be doable with a bit a programming. I think the idea sounds really interesting - I'd be happy to help out with specifics if you decide to move forward.