Idea ID: 2809686

Export or Import all records of a specific entity

Status : Needs Clarification
Needs Clarification
See status update history
11 months ago

We need export all records for a particular entity in one SMAX tenant so that I can import it into another SMAX tenant.

https://irock.jiveon.com/message/255572 

SMAX Data Exchange Tool.docx

There are mentioned methods that can be achieved. Hope to provide a released version and a relatively concise operation method for this software and document, so that more people can use it.

 

Tags:

  • Yep, my bad. I forgot all about the user options/rules and other stuff sitting as JSON/structure.

    This will defi. be an effort but a needed tool. Same as a way to do some kind of versioning/ or segmented /multi-stream development in a larger deployment.

    Hopefully its somewhere in the future feature-sets.

  • IMHO there needs to be a transformation from internal entity to external format (JSON or XML).

    Things such as:

    • user options (stored as references to data stored somewhere else - where???)
    • service level target sets (automatically create blank server level targets when imported)
    • rules in offerings, fulfillment plans and models - these are stored as JSON constructs potentially referring to other records by ID

    will not get you anywhere if you simply import them AS-IS. There is always a risk of an ID hiding somewhere in the data, which, when trying to import into a different tenant, will either make that import fail, or (worse) creates rubbish records in the DB.

    I remember a failed attempt of importing fulfillment plans where the fulfillment plan would subsequently display as an empty page. I had to delete it through the REST API to recover...

    My own tool lets you do that, which makes it totally inadequate for a larger public.

    A product feature will have to include safeguards which do not allow you to corrupt the data (or at least require a conscious effort to do that).

  • I was thinking of an idea about adding a tab in entity-editor in studio  for data. Something like we had before in HPSM or SC. We have all the data model and entity related configuration there so all the related data contents could be also seen there. AT that level there could be an option for exporting data (as like import data).

    Regarding reference links and related data it would be easier if we are creating new records although I agree there has to be some kind of meta data that could hold during the transfer of data(could be new keys/unique or some other reference). For starter if we can have ability to get the data out in JSON or XML. There could be CIT or other tools that can be useful using mapping or similar scripts to import/transfer the data.

     

  • I am the author of the aforementioned (Micro Focus internal) tool.

    As it is not publicly available, you should probably detail your idea and describe the functionality you would like to see added to SMAX, instead of posting a direct link to an internal Micro Focus message on a public forum like this one. You will not get many votes for your idea, as only Micro Focus employees will be able to read the original document.

    The functionality you are looking for would probably be something like the existing Dev2Prod packaging tool, but for data.

    Exporting and importing simple fields is trivial (and you can often handle that through CSV files), but as soon as there are references to other entities (ENTITY_LINK), things can get very tricky.

    Should the related entity be exported, too? And if not, how can the reference be exported in a way that does not depend on the ID? (as that ID will not be known in any other tenant). 

    Then there are some especially tricky clusters of entities that only make sense when looked at as a whole. The most prominent examples for these are the Service Level related entities, the service catalog, as well as any records with task plans and rules (offerings and models).

    Finally, there are attachments and images.

    Base technical requirements for implementing a comprehensive export / import feature would be:

    • Define a unique external key for every entity or cluster of closely related entities. This must not be the ID, but could be an existing unique field (like the Upn for groups).
    • Define a sufficiently flexible external format for SMAX data, which again does not depend on any ID (including for related entities). JSON appears to be the natural best candidate for that.
    • Provide an API and/or a tool that can select a specific set of data and export it into the defined external format, and a matching tool to read the external format and import it.

    I'm sure such a tool would greatly simplify implementation and ongoing operation of every single SMAX environment.

    My tool is just a crude stop-gap solution, and I sincerely hope it will not be used as a design model.