Uploaded image for project: 'DSpace'
  1. DSpace
  2. DS-4302

New field types for Open and Closed Relations



    • Attachments:
    • Comments:
    • Documentation Status:


      This Jira Issue was created in a tentative to explain our point-of-view in for what #64 should be changed and also approach a different implementation in the UI side.

      According to the document - https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.5bu9shx0j942

      You will have what it's called Closed or Open Relations. A closed relation is defined when you have fields in a submission form that only relate to Entities, but those fields are "stuck" to Entities, will not have mixing Entities and text values. For Open Relations you will need a special solution if you want to mix text valued and Entities. Atmire's proposal for that, includes relationships in all existing field types (like onebox, twobox, ...).

      We have a different vision for enabling relationships at the form submission level, which should include the creation of two new and different components to accomplish this open and closed relations concept. The "relationship" type should be used for closed relations and "relationship_open" when you need to mix Entities with text values.

      The main reasons for this approach has to do with simplicity (not introducing more complexity in the existing form field types components), separation of responsibilities (you will have specific field types to handle the relationships, if one doesn't want to use Entities in DSpace, he can use the system as already provided, without the Entities+Relation) and because historically DSpace have introduced different field types (onebox, twobox, names - all for text fields) when the need to add more fields types occurred.

      In theory, you will not have open relations for other types of fields like textareas, or dates, or even dropdown (controlled values), so we think that property shouldn't be applied. There are only some use cases when this might happen and the only one that we can recall it's the author's name. That can be perfectly implemented using a relationship_open. With a single text field for storing text. Of course one can argue that we will loose stuff, like Authority Control, but is there any real Use Case of having Entities along with Authority Controlled values?




            paulo_graca Paulo Graça
            0 Vote for this issue
            1 Start watching this issue