E-RIHS / schema

https://e-rihs.github.io/schema
1 stars 0 forks source link

Do we need a Catalogue Schema/Model? #9

Closed kobbejager closed 7 months ago

kobbejager commented 7 months ago

In the "Service" schema, we define things as "e-rihs_platform", "service_active" and (maybe) "checked_date" that are in my opinion not things a service provider should fill in in the form. They make an offer, and it is up to other people to decide if the service is being incorporated into the CoS. Exactly the service might be in other (national) catalogues of service.

I wonder if we don't need a new schema 'Catalogues", in which we define catalogues of services. Each catalogue of service would then contain and id, name and an array, consisting of services that are included in the catalogue. The three mentioned properties would probably belong here in some form. There would obviously be one E-RIHS CoS (or even better: 4: E-RIHS ARCHLAB, E-RIHS MOLAB....), but leaves room for national catalogues as well that can use exactly the same service offerings.

Something like this:

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://e-rihs.io/schema/catalogue-v1.0.schema.json",
    "$code": "3a9d",
    "title": "Catalogue",
    "type": "object",
    "required": ["title", "summary", "services"],
    "properties": {
        "$schema": {
            "type": "string",
            "options": {
                "hidden": true
            }
        },
        "id": {
            "type": "string",
            "cordra": {
                "type": {
                    "autoGeneratedField": "handle"
                }
            }
        },
       "title": {
            "title": "Title",
            "description": "Catalogue title",
            "type": "string",
            "minLength": 3,
            "maxLength": 100,
            "cordra": {
                "preview": {
                    "showInPreview": true,
                    "isPrimary": true
                }
            }
        },
        "summary": {
            "title": "Catalogue Summary",
            "description": "A brief description of a specific technical or access service offered, such as the use of X to investigate Y",
            "type": "string",
            "format": "textarea",
            "minLength": 3,
            "maxLength": 512,
            "cordra": {
                "preview": {
                    "showInPreview": true,
                    "excludeTitle": true
                }
            }
        },
        "services": {
            "title": "Services",
            "description": "A list of services offered by the catalogue",
            "type": "array",
            "items": {
                "title": "Service",
                "type": "object",
                "required": ["service_id", "service_active"],
                "properties": {
                    "service_id": {
                        "title": "Service ID",
                        "type": "string",
                        "cordra": {
                            "type": {
                                "handleReference": {
                                    "types": ["Service"]
                                }
                            }
                        }
                    },
                    "service_active": {
                        "title": "Active service",
                        "description": "Is the service currently open for access?",
                        "type": "boolean",
                        "default": true
                    },
                    "checked_date": {
                        "title": "Checked Date",
                        "description": "When was the description of the service last checked",
                        "type": "string",
                        "format": "date"
                    }
                }
            }
        }
    }
}

Just a thought. Might be a bit late and might have some serious impact on what the CoS company is building. We can discuss this here, or in the next meeting.

jpadfield commented 7 months ago

This would seem to make sense to me, depending on how the ICT company connects things it might not be a big issue. The one thing that crosses my mind - what other pieces of admin metadata might be added here? Who would be editing this - COO I guess. The general issue is that the model was conceived in relation to the E-RIHS catalogue, but options where included to have additional records. This idea would be extending that concept further - a Service record would become a generic description of a service and then the catalogue record would cover the specific metadata.

There is another metadata field related to "access level" should that be moved.

How about KPIs?

How about "Application" would this be catalogue specific? So in E-RIHS one needs to apply but under the national offer one has a less formal process ....

I also wonder about "Access Count" - the other "Access *" fields are more generic, but this one would need to relate to a given catalogue perhaps, of even you could have a general Count, but then one would need to say what percentage or split of that total is being offered under a given catalogue.

kobbejager commented 7 months ago

There are certainly more properties that might need to move to the catalogue schema. I only did a very quick search. The main question is: how reusable do we wish to make a given service? In other words: if the same service, albeit under different terms and procedures, is provided on both the European and national level, do we consider them as one and the same service, or as two different services.

How about KPIs?

Good question. If we have "reusable" services that are offered in multiple catalogues, each access project would need to contain a reference to the catalogue of services. Otherwise it would be impossible to know which projects were performed on the European level, and which not. It certainly makes the query in the KPI definition a bit more complex, but doable.

Choosing against the reusability of services (e.g. two different services for access to KIK-IRPA's archives, one in ARCHLAB, one in national CoS), simplifies overall management and complexity at the expense of some duplication. We would only necessitate moving those fields that are not filled in and updated by the service provider, but by the CoS managers (which would be coordination office, together with the platform leaders).

I'm always in favour of the simplest solution, so I would personally opt for non-reusable services. Separation of service and catalogue still makes sense in this case, also because of permissions in cordra. In the current implementation, providers can "promote" their services into the CoS at any point. If we have a separate catalogue, however, providers still have always access to the services they create, and can keep them updated, but they won't have access anymore to the "toggle" that puts them in the CoS.

sophiasot commented 7 months ago

I think this is a timely issue. At a glance, I don't understand why we can't include in the current service model the metadata we are discussing, even if they are filled in by the coo and not by the provider. However, there is a parallel discussion to which this topic is linked. For now, there is disagreement about whether the same service can be provided simultaneously at EU and national levels. The debate on the Access Policy remains open, as I said. ' But I think that if we pertinently build the related models, service + KPI +?, we might be able to help to get an agreement on the access policy. I remember very well the discussion among us that we considered that a service is the same whether it is provided at the national or central level, it just might not be accepted at the European level (for a period) and only be provided nationally. In this case, as long as it is included in the E-RIHS single quality system, it can, when it raises the KPIS scores, be included in the European CoS. It is an opportunity to discuss these issues in person in Madrid in E-RIHS-IP session 4. Do you agree to have a pre-meeting to organize the topics to be discussed with Brenda and Vania?

kobbejager commented 7 months ago

For now, there is disagreement about whether the same service can be provided simultaneously at EU and national levels.

I heard that too, but as national coordinator, I cannot agree. E-RIHS is a consortium of NNs that fund the RI, not the other way around. E-RIHS as a whole can decide the conditions of what they include in their CoS, but they have no say in what individual NNs do. If a NN wants to create a separate national CoS under the E-RIHS.xx banner, they should be allowed to do so in my opinion. If a national node is able to offer a service for x units through the EU level, and an additional y units in national setting under other conditions (e.g. paid-for), why shouldn't this be possible? Also, we have many high-quality services, but where we do not have the financial means to provide access for free, why would those services be silenced in favour of services that can be provided for free (but maybe with a lesser quality)? But this is off-topic in this discussion on the need for catalogue model.

At a glance, I don't understand why we can't include in the current service model the metadata we are discussing, even if > they are filled in by the coo and not by the provider.

Because json schema and cordra do not prevent providers to fill in these fields themselves at any time. If they do not agree with a decision not be included in MOLAB, they could just promote themselves. CO could revoke the provider's permissions to the objects in cordra after they fill in their fields, so they cannot change it anymore, but these permissions apply to the entire document. You cannot give a provider permissions to update a set of fields (contact info,...) and prevent access to other fields in the same document.

kobbejager commented 7 months ago

And yes, pre-meeting with Brenda and Vania might be interesting.