Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleary identify 'Islandora' content types in the UI #1255

Open
dannylamb opened this issue Aug 28, 2019 · 9 comments
Open

Cleary identify 'Islandora' content types in the UI #1255

dannylamb opened this issue Aug 28, 2019 · 9 comments
Labels
Subject: User Experience Related to a user’s experience with the software. Type: enhancement Identifies work on an enhancement to the Islandora codebase

Comments

@dannylamb
Copy link
Contributor

Since a user can make any content type, and that content type need not be "Islandora compatible", then it would be beneficial to highlight what content types / media types / taxonomy vocabularies are meant to work with Islandora.

@mjordan
Copy link
Contributor

mjordan commented Aug 28, 2019

@dannylamb
Copy link
Contributor Author

Here's some mock ups from @rosiel

mockup-content_types

mockup-add_content

@rosiel
Copy link
Member

rosiel commented Aug 29, 2019

At the moment, the following fields are "necessary":
Nodes:

  • field_member_of
  • field_model
    Media:
  • field_media_of
  • field_media_use
    Taxonomy:
  • field_external_uri

Do we want to bake this in? Create a function that checks whether these exact fields are present? (seems very do-able, and/but hard-codey)

To make it less hard-codey, should that function include an alter or some other way for modules to plug in, so i can write a custom module for my repo that checks additional conditions? Challenge: create logic table that works sensibly for that, if "core" and (N different) "custom" modules disagree.

Or, Let the user decide. Put a checkbox on the Content Type itself, and it doesn't matter what fields exist. Unfortunately, basic islandora functionality might not work on things that are "marked" islandora but don't meet the basic criteria.

Or, let the user check a checkbox but only make that checkbox available/relevant when required fields are present. I.e. to avoid a case where the user calls it islandora then deletes required fields, the test that "this is islandora()" should check for required fields first and then the value of the checkbox. When the checkbox is off and disabled because the required fields aren't present, help text should explain what is missing.

I kind of like the last one, what do y'all think?

[oops, edited cause I forgot to remove some draft text]

@dannylamb
Copy link
Contributor Author

I would just have the function check for those fields and then use that function everywhere. If people need additional conditions we can add the hook but that's not necessary at this point in time. People already can choose when/how things go to Fedora using checkboxes, and there's clearly been backlash against that flexibility, so let's not provide more checkboxes.

@seth-shaw-unlv
Copy link
Contributor

What makes something an "Islandora" content type or media is dependent on the enabled contexts; that is where the "flush this to Fedora" checkbox for a content type resides. So, perhaps the check is to see whether or not that content type has the relevant contexts configured/enabled.

That said, it would be useful to have an "Islandora-ize" operation in the content type operations dropdown to automate all the configuration that needs to happen (adding the fields and updating the appropriate contexts).

@dannylamb
Copy link
Contributor Author

Maybe I didn't give the best example, as 'being in Fedora' does not necessarily make 'Islandora content'. So I'd definitely scope this to checking for those fields, since that's what makes content compatible with our derivative and collection management methodologies. I guess that's what Islandora content really is.

Islandora-izing would definitely be useful. There's lot of utility there. You model your content, hit a button, and then we add the appropriate fields automagically. I like that.

@rosiel
Copy link
Member

rosiel commented Aug 29, 2019

it would be useful to have an "Islandora-ize" operation in the content type operations dropdown to automate all the configuration that needs to happen (adding the fields and updating the appropriate contexts).

Yes! But I agree with Danny - fields yes, contexts have to remain configurable. (there is no specific behaviour that makes something "Islandora".)

A future ... thing? could be making a Context condition that uses this function. Imagine a context that said: IF (node type is islandora) THEN (flush to fedora)... which (for the things we want to do to ALL islandora stuff) would be easier than having to check off individual content types.

@mjordan
Copy link
Contributor

mjordan commented Aug 30, 2019

A Context Condition that checked whether a node is islandora would be very useful. 👍

@alexkent0
Copy link

alexkent0 commented Aug 30, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Subject: User Experience Related to a user’s experience with the software. Type: enhancement Identifies work on an enhancement to the Islandora codebase
Projects
Development

No branches or pull requests

6 participants