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

Document semantics of the import #59

Open
FredrikWendt opened this issue Sep 1, 2019 · 3 comments
Open

Document semantics of the import #59

FredrikWendt opened this issue Sep 1, 2019 · 3 comments
Assignees
Labels
documentation The issue affects the documentation

Comments

@FredrikWendt
Copy link

In this repo, there's documentation of the schema, its data types etc, but I can't find any documentation on the semantics of the import process. I'm looking for answers to questions like:

  • what happens if we present an empty document (no provider section)? Will all our data, accounts and course information be deleted?
  • am I right in assuming that we need to provide elements/data for everything we want present in your system? (Anything we enter manually using web admin interface, will be replaced when the import has completed.)
@Kralizek Kralizek self-assigned this Sep 2, 2019
@Kralizek Kralizek added the documentation The issue affects the documentation label Sep 2, 2019
@Kralizek
Copy link
Contributor

Kralizek commented Sep 2, 2019

Hi @FredrikWendt,

Thank you for your questions and it's nice to get feedback on the documentation we offer on this repository.

Our intent is to provide as much documentation as possible without overloading the implementer with unnecessary details. As usual, the line between necessary and unnecessary is thin and easy to miss.

About your questions...

When using EMG XML 2.0 and 3.0, our system uses the specified institute/provider identifier to understand which institute/provider needs to be updated. if the document is totally empty, no institute/provider is found and none can therefore be updated.

On the other hand, when an institute/provider is found, we make sure to import all the information into our systems. Usually, we try to be very conservative and only hide or soft-delete entities that were previously imported and have now disappeared from the feed.

Also, please note that some information might be imported the first time and ignored in subsequent imports (content fields are the most prominent example so that our premium SEO-friendly content is not overridden).

As for the risk of a customer overriding the content via the web interface we offer them, it depends a lot on whether or not they create a new course/education or they edit one that has been previously imported as we use the uniqueIdentifier field to match entities in the feed with those existing in our database.

@FredrikWendt
Copy link
Author

This life cycle of data would be great to have documented somewhere.

In our case, everything was setup manually, and we are now looking to add dates for courses, and in some rare cases have them removed. In general, we don't update our descriptive texts that often (except for promoting the actual instructors), so it's interesting to learn the semantics of the elements.

@FredrikWendt
Copy link
Author

As a general comment, if there's a more RESTful API we could integrate towards (PUT & POST (create and replace), PATCH (partially update), DELETE, on clearly defined resources/URLs, does bring semantic meanings and allows for less processing as it enables push rather than pull), we'd love to build/try out that instead of the current approach. :-)

(We don't mind XML Schemas any bit, just that the "we fetch some XML" doesn't tell us how that's processed, or when.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation The issue affects the documentation
Development

No branches or pull requests

2 participants