os2mo-data-import


Nameos2mo-data-import JSON
Version 5.4.3 PyPI version JSON
download
home_pagehttps://git.magenta.dk/rammearkitektur/os2mo_data_import
SummaryA set of tools for OS2MO data import and export
upload_time2023-08-14 09:49:39
maintainer
docs_urlNone
authorMagenta
requires_python>=3.11,<4.0
licenseMPL-2.0
keywords os2mo dipex
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. _ImportHelper:

**********************
OS2MO data import tool
**********************

A small higher level utility for os2mo data import.

The utility provides functionality to create organisation units
and employees and to create all of the types to which these can be assigned.

Additonally the utility can be used to insert data objects
into a running instance of os2mo.


Installing
==========

Install the os2mo_data_import package as follows:

.. code-block:: bash

    # Checkout the mora source repository
    https://github.com/OS2mo/os2mo-data-import-and-export

    # Navigate to the local copy of the repository
    cd /path/to/os2mo-data-import-and-export

    # Install package with pip
    pip install -e os2mo_data_import


Getting started
===============
The main entry point (for most use cases) is the Organisation class,
which functions as a wrapper for all the sub classes.

.. code-block:: python

    # Imports
    from os2mo_data_import import ImportHelper

    # Init helper
    os2mo = ImportHelper(create_defaults=True)

    # Add organisation
    os2mo.add_organisation(
        identifier="Magenta Aps",
        user_key="Magenta",
        municipality_code=101
    )


Organisation Units
------------------
Before organisation units can be created,
a type for the unit must be added:

.. code-block:: python

    # Add klasse with reference to facet "org_unit_type"
    os2mo.add_klasse(
        identifier="Hovedenhed",
        facet_type_ref="org_unit_type",
        user_key="D1ED90C5-643A-4C12-8889-6B4174EF4467",
        title="Hovedenhed"  # This is the displayed value
    )


Now an organisation unit can be added with "org_unit_type_ref" referencing
the user defined identifier of the newly created unit type by name:

.. code-block:: python

    # Root unit: Magenta
    # Belongs to unit type: "Hovedenhed"
    os2mo.add_organisation_unit(
        identifier="Magenta",
        name="Magenta Aps",
        type_ref="Hovedenhed",  # Reference to the unit type
        date_from="1986-01-01"
    )

Organisation unit "Magenta" is a root unit in this example.
To add children/sub units, "Magenta" must be referenced as parent:

.. code-block:: python

    # Add unit type "Afdeling"
    os2mo.add_klasse(
        identifier="Afdeling",
        facet_type_ref="org_unit_type",
        user_key="91154D1E-E7CA-439B-B910-D4622FD3FD21",
        title="Afdeling"
    )

    # Add sub unit "Pilestræde"
    os2mo.add_organisation_unit(
        identifier="Pilestræde",
        type_ref="Afdeling",  # This unit is of type: Afdeling
        parent_ref="Magenta",  # Sub unit of/Belongs to Magenta
        date_from="1986-01-01"
    )


Optional data or "details" can be associated with an organisation unit.

.. note::

    At least 2 "Klasse" objects must be created,
    an object for the primary phone number and
    an object for the primary mailing address (residence).

    The validation in the (os2mo) frontend application requires:

    The user_key on the the primary phone number object
    must be specified as "PhoneUnit"

    The user_key on the primary mail address object
    must be specified as "AddressMailUnit"

    Hence either the "identifier" or the "user_key"
    must be set to:

        - PhoneUnit
        - AddressMailUnit

    (The "user_key" is derived from the value of the "identifier
    if not explicitly set)

    See the example below:


.. code-block:: python

    # Add klasse type "AdressePost"
    # Which belongs to facet type "org_unit_address_type"

    # user_key is not explicitly set, identifier must be "AddressMailUnit"
    os2mo.add_klasse(
        identifier="AddressMailUnit",
        facet_type_ref="org_unit_address_type",
        title="Adresse",
        scope="DAR",
        example="<UUID>"
    )

    # Add klasse type "Telefon"
    # Which belongs to facet type "org_unit_address_type"

    # user_key is set to "PhoneUnit", hence the identifier can be anything
    os2mo.add_klasse(
        identifier="Telefon",
        facet_type_ref="org_unit_address_type",
        user_key="PhoneUnit",
        title="Tlf",
        scope="PHONE",
        example="20304060"
    )

    # Add "AdressePost" detail to the unit "Magenta"
    os2mo.add_address_type(
        organisation_unit="Magenta",
        value="0a3f50c4-379f-32b8-e044-0003ba298018",
        type_ref="AdressePost",
        date_from="1986-01-01"
    )

    # Add "Telefon" detail to the unit "Magenta"
    os2mo.add_address_type(
        organisation_unit="Magenta",
        value="11223344",
        type_ref="Telefon",
        date_from="1986-01-01",
    )

Employees
---------
Employees are not directly attached to an organisation unit,
but can have a job function which is linked to a unit.

Create employees first:

.. code-block:: python

    os2mo.add_employee(
        identifier="Susanne Chæf",
        cpr_no="0101862233"
    )

    os2mo.add_employee(
        identifier="Odin Perskov",
        cpr_no="0102862234"
    )

Job function
------------
Add the job function types:

.. code-block:: python

    # Job: CEO ("Direktør")
    os2mo.add_klasse(
        identifier="Direktør",
        facet_type_ref="engagement_type",
        user_key="Direktør",
        title="Direktør"
    )

    # Job: Projectmanager ("Projektleder")
    os2mo.add_klasse(
        identifier="Projektleder",
        facet_type_ref="engagement_type",
        user_key="Projektleder",
        title="Projektleder"
    )


Add job functions to the newly created employees
with the "add_type_engagement" method:

.. code-block:: python

    # Susanne Chæf is CEO
    os2mo.add_engagement(
        employee="Susanne Chæf",
        organisation_unit="Magenta",
        job_function_ref="Direktør",
        engagement_type_ref="Ansat",
        date_from="1986-01-01"
    )

    # Odin Perskov is projectmanager
    os2mo.add_engagement(
        employee="Odin Perskov",
        organisation_unit="Pilestræde",
        job_function_ref="Projektleder",
        engagement_type_ref="Ansat",
        date_from="1986-02-01"
    )


Association
-----------
In this example the employee "Odin Perskov" is an external consultant,
and to reflect this an association type can be assigned:

.. code-block:: python

    os2mo.add_klasse(
        identifier="Ekstern Konsulent",
        facet_type_ref="association_type",
        user_key="F997F306-71DF-477C-AD42-E753F9C21B42",
        title="Ekstern Konsulent"
    )

    # Add the consultant association to "Odin Perskov":
    os2mo.add_association(
        employee="Odin Perskov",
        organisation_unit="Pilestræde",
        job_function_ref="Projektleder",
        association_type_ref="Ekstern Konsulent",
        address_uuid="0a3f50c4-379f-32b8-e044-0003ba298018",
        date_from="1986-10-01"
    )

In the following example an address is assigned to employee "Odin Perskov".
For residential addresses, valid UUID's are used to reference an address
from the "Danish registry of addresses" (DAR):

.. code-block:: python

    # Add address type "AdressePostEmployee"
    os2mo.add_klasse(
        identifier="AdressePostEmployee",
        facet_type_ref="employee_address_type",
        user_key="2F29C717-5D78-4AA9-BDAE-7CDB3A378018",
        title="Adresse",
        scope="DAR",
        example="<UUID>"
    )

    # Detail AdressePostEmployee assigned to "Odin Perskov"
    os2mo.add_address_type(
        employee="Odin Perskov",
        value="0a3f50a0-ef5a-32b8-e044-0003ba298018",
        type_ref="AdressePostEmployee",
        date_from="1986-11-01",
    )


Roles
-----
To add a role type:

.. code-block:: python

    # A role as contact for external projects
    os2mo.add_klasse(
        identifier="Nøgleansvarlig",
        facet_type_ref="role_type",
        user_key="0E078F23-A5B4-4FB4-909B-60E49295C5E9",
        title="Nøgleansvarlig"
    )

    # Role assigned to "Odin Perskov"
    os2mo.add_role(
        employee="Odin Perskov",
        organisation_unit="Pilestræde",
        role_type_ref="Nøgleansvarlig",
        date_from="1986-12-01"
    )

It systems
----------
Generic IT systems can be created and assigned to employees with a specified "user_key",
which functions as a reference to a username, pin code etc.:

.. code-block:: python

  # Create IT system: Database
    os2mo.new_itsystem(
        identifier="Database",
        system_name="Database"
    )

    # Assign access to the database
    # with username "odpe@db"
    os2mo.join_itsystem(
        employee="Odin Perskov",
        user_key="odpe@db",
        itsystem_ref="Database",
        date_from="1987-10-01"
    )


Manager type, level and responsibilities
----------------------------------------
In order to assign employees as managers to an organisation unit,
the following types must be created:

 - manager type
 - manager level
 - A type for each responsibility

Create manager type:

.. code-block:: python

    os2mo.add_klasse(
        identifier="Leder",
        facet_type_ref="manager_type",
        user_key="55BD7A09-86C3-4E15-AF5D-EAD20EB12F81",
        title="Virksomhedens direktør"
    )

Create manager level:

.. code-block:: python

    os2mo.add_klasse(
        identifier="Højeste niveau",
        facet_type_ref="manager_level",
        user_key="6EAA7DA7-212D-4FD0-A068-BA3F932FDB10",
        title="Højeste niveau"
    )

Create several responsibilities:

.. code-block:: python

    os2mo.add_klasse(
        identifier="Tage beslutninger",
        facet_type_ref="responsibility",
        user_key="A9ABDCCB-EC83-468F-AB7D-175B95E94956",
        title="Tage beslutninger"
    )

    os2mo.add_klasse(
        identifier="Motivere medarbejdere",
        facet_type_ref="responsibility",
        user_key="DC475AF8-21C9-4112-94AE-E9FB13FE8D14",
        title="Motivere medarbejdere"
    )

    os2mo.add_klasse(
        identifier="Betale løn",
        facet_type_ref="responsibility",
        user_key="0A929060-3392-4C07-8F4E-EF5F9B6AFDE2",
        title="Betale løn"
    )

Assign the manager position of Magenta to "Susanne Chæf":

.. code-block:: python

    os2mo.add_manager(
        employee="Susanne Chæf",
        organisation_unit="Magenta",
        manager_type_ref="Leder",
        manager_level_ref="Højeste niveau",
        responsibility_list=["Tage beslutninger", "Motivere medarbejdere", "Betale løn"],
        date_from="1987-12-01",
    )



Preservation of UUIDs
=====================
If the system to be imported into MO contains UUIDs that should be preserved in MO,
it is possible to import the UUIDs for employees, organisational units, classes and
classifications. This is achieved by adding an extra uuid argument when creating the
object, eg:

.. code-block:: python

    os2mo.add_klasse(
        identifier="Betale løn",
        facet_type_ref="responsibility",
        uuid="195da2b6-e648-4bdc-add1-e22654996997",
        user_key="0A929060-3392-4C07-8F4E-EF5F9B6AFDE2",
        title="Betale løn"
    )


Example
=======
If a "real" os2mo application is available,
a practial example is provided with contains similar import data
as the given examples above.

Feel free to run the "import_example.py" included in the repository:

Example: $os2mo-data-import-and-export/os2mo_data_import/import_example.py

Run example:

.. code-block:: bash

  cd os2mo_data_import
  python import_example.py


Reference
=========
For more information on the os2mo project,
please refer to the official documentation.

Read the docs: https://os2mo.readthedocs.io


Known Issues
============
Currently it is not possible to assign "Leave" (e.g. various types of leave of absence).

This issue is related to the validation of type assignments.

            

Raw data

            {
    "_id": null,
    "home_page": "https://git.magenta.dk/rammearkitektur/os2mo_data_import",
    "name": "os2mo-data-import",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11,<4.0",
    "maintainer_email": "",
    "keywords": "os2mo,dipex",
    "author": "Magenta",
    "author_email": "info@magenta.dk",
    "download_url": "https://files.pythonhosted.org/packages/dc/23/cfa1ef540cc56facd987bd79679b7bd03560f8782a2b9b9bedccdf89752a/os2mo_data_import-5.4.3.tar.gz",
    "platform": null,
    "description": ".. _ImportHelper:\n\n**********************\nOS2MO data import tool\n**********************\n\nA small higher level utility for os2mo data import.\n\nThe utility provides functionality to create organisation units\nand employees and to create all of the types to which these can be assigned.\n\nAdditonally the utility can be used to insert data objects\ninto a running instance of os2mo.\n\n\nInstalling\n==========\n\nInstall the os2mo_data_import package as follows:\n\n.. code-block:: bash\n\n    # Checkout the mora source repository\n    https://github.com/OS2mo/os2mo-data-import-and-export\n\n    # Navigate to the local copy of the repository\n    cd /path/to/os2mo-data-import-and-export\n\n    # Install package with pip\n    pip install -e os2mo_data_import\n\n\nGetting started\n===============\nThe main entry point (for most use cases) is the Organisation class,\nwhich functions as a wrapper for all the sub classes.\n\n.. code-block:: python\n\n    # Imports\n    from os2mo_data_import import ImportHelper\n\n    # Init helper\n    os2mo = ImportHelper(create_defaults=True)\n\n    # Add organisation\n    os2mo.add_organisation(\n        identifier=\"Magenta Aps\",\n        user_key=\"Magenta\",\n        municipality_code=101\n    )\n\n\nOrganisation Units\n------------------\nBefore organisation units can be created,\na type for the unit must be added:\n\n.. code-block:: python\n\n    # Add klasse with reference to facet \"org_unit_type\"\n    os2mo.add_klasse(\n        identifier=\"Hovedenhed\",\n        facet_type_ref=\"org_unit_type\",\n        user_key=\"D1ED90C5-643A-4C12-8889-6B4174EF4467\",\n        title=\"Hovedenhed\"  # This is the displayed value\n    )\n\n\nNow an organisation unit can be added with \"org_unit_type_ref\" referencing\nthe user defined identifier of the newly created unit type by name:\n\n.. code-block:: python\n\n    # Root unit: Magenta\n    # Belongs to unit type: \"Hovedenhed\"\n    os2mo.add_organisation_unit(\n        identifier=\"Magenta\",\n        name=\"Magenta Aps\",\n        type_ref=\"Hovedenhed\",  # Reference to the unit type\n        date_from=\"1986-01-01\"\n    )\n\nOrganisation unit \"Magenta\" is a root unit in this example.\nTo add children/sub units, \"Magenta\" must be referenced as parent:\n\n.. code-block:: python\n\n    # Add unit type \"Afdeling\"\n    os2mo.add_klasse(\n        identifier=\"Afdeling\",\n        facet_type_ref=\"org_unit_type\",\n        user_key=\"91154D1E-E7CA-439B-B910-D4622FD3FD21\",\n        title=\"Afdeling\"\n    )\n\n    # Add sub unit \"Pilestr\u00e6de\"\n    os2mo.add_organisation_unit(\n        identifier=\"Pilestr\u00e6de\",\n        type_ref=\"Afdeling\",  # This unit is of type: Afdeling\n        parent_ref=\"Magenta\",  # Sub unit of/Belongs to Magenta\n        date_from=\"1986-01-01\"\n    )\n\n\nOptional data or \"details\" can be associated with an organisation unit.\n\n.. note::\n\n    At least 2 \"Klasse\" objects must be created,\n    an object for the primary phone number and\n    an object for the primary mailing address (residence).\n\n    The validation in the (os2mo) frontend application requires:\n\n    The user_key on the the primary phone number object\n    must be specified as \"PhoneUnit\"\n\n    The user_key on the primary mail address object\n    must be specified as \"AddressMailUnit\"\n\n    Hence either the \"identifier\" or the \"user_key\"\n    must be set to:\n\n        - PhoneUnit\n        - AddressMailUnit\n\n    (The \"user_key\" is derived from the value of the \"identifier\n    if not explicitly set)\n\n    See the example below:\n\n\n.. code-block:: python\n\n    # Add klasse type \"AdressePost\"\n    # Which belongs to facet type \"org_unit_address_type\"\n\n    # user_key is not explicitly set, identifier must be \"AddressMailUnit\"\n    os2mo.add_klasse(\n        identifier=\"AddressMailUnit\",\n        facet_type_ref=\"org_unit_address_type\",\n        title=\"Adresse\",\n        scope=\"DAR\",\n        example=\"<UUID>\"\n    )\n\n    # Add klasse type \"Telefon\"\n    # Which belongs to facet type \"org_unit_address_type\"\n\n    # user_key is set to \"PhoneUnit\", hence the identifier can be anything\n    os2mo.add_klasse(\n        identifier=\"Telefon\",\n        facet_type_ref=\"org_unit_address_type\",\n        user_key=\"PhoneUnit\",\n        title=\"Tlf\",\n        scope=\"PHONE\",\n        example=\"20304060\"\n    )\n\n    # Add \"AdressePost\" detail to the unit \"Magenta\"\n    os2mo.add_address_type(\n        organisation_unit=\"Magenta\",\n        value=\"0a3f50c4-379f-32b8-e044-0003ba298018\",\n        type_ref=\"AdressePost\",\n        date_from=\"1986-01-01\"\n    )\n\n    # Add \"Telefon\" detail to the unit \"Magenta\"\n    os2mo.add_address_type(\n        organisation_unit=\"Magenta\",\n        value=\"11223344\",\n        type_ref=\"Telefon\",\n        date_from=\"1986-01-01\",\n    )\n\nEmployees\n---------\nEmployees are not directly attached to an organisation unit,\nbut can have a job function which is linked to a unit.\n\nCreate employees first:\n\n.. code-block:: python\n\n    os2mo.add_employee(\n        identifier=\"Susanne Ch\u00e6f\",\n        cpr_no=\"0101862233\"\n    )\n\n    os2mo.add_employee(\n        identifier=\"Odin Perskov\",\n        cpr_no=\"0102862234\"\n    )\n\nJob function\n------------\nAdd the job function types:\n\n.. code-block:: python\n\n    # Job: CEO (\"Direkt\u00f8r\")\n    os2mo.add_klasse(\n        identifier=\"Direkt\u00f8r\",\n        facet_type_ref=\"engagement_type\",\n        user_key=\"Direkt\u00f8r\",\n        title=\"Direkt\u00f8r\"\n    )\n\n    # Job: Projectmanager (\"Projektleder\")\n    os2mo.add_klasse(\n        identifier=\"Projektleder\",\n        facet_type_ref=\"engagement_type\",\n        user_key=\"Projektleder\",\n        title=\"Projektleder\"\n    )\n\n\nAdd job functions to the newly created employees\nwith the \"add_type_engagement\" method:\n\n.. code-block:: python\n\n    # Susanne Ch\u00e6f is CEO\n    os2mo.add_engagement(\n        employee=\"Susanne Ch\u00e6f\",\n        organisation_unit=\"Magenta\",\n        job_function_ref=\"Direkt\u00f8r\",\n        engagement_type_ref=\"Ansat\",\n        date_from=\"1986-01-01\"\n    )\n\n    # Odin Perskov is projectmanager\n    os2mo.add_engagement(\n        employee=\"Odin Perskov\",\n        organisation_unit=\"Pilestr\u00e6de\",\n        job_function_ref=\"Projektleder\",\n        engagement_type_ref=\"Ansat\",\n        date_from=\"1986-02-01\"\n    )\n\n\nAssociation\n-----------\nIn this example the employee \"Odin Perskov\" is an external consultant,\nand to reflect this an association type can be assigned:\n\n.. code-block:: python\n\n    os2mo.add_klasse(\n        identifier=\"Ekstern Konsulent\",\n        facet_type_ref=\"association_type\",\n        user_key=\"F997F306-71DF-477C-AD42-E753F9C21B42\",\n        title=\"Ekstern Konsulent\"\n    )\n\n    # Add the consultant association to \"Odin Perskov\":\n    os2mo.add_association(\n        employee=\"Odin Perskov\",\n        organisation_unit=\"Pilestr\u00e6de\",\n        job_function_ref=\"Projektleder\",\n        association_type_ref=\"Ekstern Konsulent\",\n        address_uuid=\"0a3f50c4-379f-32b8-e044-0003ba298018\",\n        date_from=\"1986-10-01\"\n    )\n\nIn the following example an address is assigned to employee \"Odin Perskov\".\nFor residential addresses, valid UUID's are used to reference an address\nfrom the \"Danish registry of addresses\" (DAR):\n\n.. code-block:: python\n\n    # Add address type \"AdressePostEmployee\"\n    os2mo.add_klasse(\n        identifier=\"AdressePostEmployee\",\n        facet_type_ref=\"employee_address_type\",\n        user_key=\"2F29C717-5D78-4AA9-BDAE-7CDB3A378018\",\n        title=\"Adresse\",\n        scope=\"DAR\",\n        example=\"<UUID>\"\n    )\n\n    # Detail AdressePostEmployee assigned to \"Odin Perskov\"\n    os2mo.add_address_type(\n        employee=\"Odin Perskov\",\n        value=\"0a3f50a0-ef5a-32b8-e044-0003ba298018\",\n        type_ref=\"AdressePostEmployee\",\n        date_from=\"1986-11-01\",\n    )\n\n\nRoles\n-----\nTo add a role type:\n\n.. code-block:: python\n\n    # A role as contact for external projects\n    os2mo.add_klasse(\n        identifier=\"N\u00f8gleansvarlig\",\n        facet_type_ref=\"role_type\",\n        user_key=\"0E078F23-A5B4-4FB4-909B-60E49295C5E9\",\n        title=\"N\u00f8gleansvarlig\"\n    )\n\n    # Role assigned to \"Odin Perskov\"\n    os2mo.add_role(\n        employee=\"Odin Perskov\",\n        organisation_unit=\"Pilestr\u00e6de\",\n        role_type_ref=\"N\u00f8gleansvarlig\",\n        date_from=\"1986-12-01\"\n    )\n\nIt systems\n----------\nGeneric IT systems can be created and assigned to employees with a specified \"user_key\",\nwhich functions as a reference to a username, pin code etc.:\n\n.. code-block:: python\n\n  # Create IT system: Database\n    os2mo.new_itsystem(\n        identifier=\"Database\",\n        system_name=\"Database\"\n    )\n\n    # Assign access to the database\n    # with username \"odpe@db\"\n    os2mo.join_itsystem(\n        employee=\"Odin Perskov\",\n        user_key=\"odpe@db\",\n        itsystem_ref=\"Database\",\n        date_from=\"1987-10-01\"\n    )\n\n\nManager type, level and responsibilities\n----------------------------------------\nIn order to assign employees as managers to an organisation unit,\nthe following types must be created:\n\n - manager type\n - manager level\n - A type for each responsibility\n\nCreate manager type:\n\n.. code-block:: python\n\n    os2mo.add_klasse(\n        identifier=\"Leder\",\n        facet_type_ref=\"manager_type\",\n        user_key=\"55BD7A09-86C3-4E15-AF5D-EAD20EB12F81\",\n        title=\"Virksomhedens direkt\u00f8r\"\n    )\n\nCreate manager level:\n\n.. code-block:: python\n\n    os2mo.add_klasse(\n        identifier=\"H\u00f8jeste niveau\",\n        facet_type_ref=\"manager_level\",\n        user_key=\"6EAA7DA7-212D-4FD0-A068-BA3F932FDB10\",\n        title=\"H\u00f8jeste niveau\"\n    )\n\nCreate several responsibilities:\n\n.. code-block:: python\n\n    os2mo.add_klasse(\n        identifier=\"Tage beslutninger\",\n        facet_type_ref=\"responsibility\",\n        user_key=\"A9ABDCCB-EC83-468F-AB7D-175B95E94956\",\n        title=\"Tage beslutninger\"\n    )\n\n    os2mo.add_klasse(\n        identifier=\"Motivere medarbejdere\",\n        facet_type_ref=\"responsibility\",\n        user_key=\"DC475AF8-21C9-4112-94AE-E9FB13FE8D14\",\n        title=\"Motivere medarbejdere\"\n    )\n\n    os2mo.add_klasse(\n        identifier=\"Betale l\u00f8n\",\n        facet_type_ref=\"responsibility\",\n        user_key=\"0A929060-3392-4C07-8F4E-EF5F9B6AFDE2\",\n        title=\"Betale l\u00f8n\"\n    )\n\nAssign the manager position of Magenta to \"Susanne Ch\u00e6f\":\n\n.. code-block:: python\n\n    os2mo.add_manager(\n        employee=\"Susanne Ch\u00e6f\",\n        organisation_unit=\"Magenta\",\n        manager_type_ref=\"Leder\",\n        manager_level_ref=\"H\u00f8jeste niveau\",\n        responsibility_list=[\"Tage beslutninger\", \"Motivere medarbejdere\", \"Betale l\u00f8n\"],\n        date_from=\"1987-12-01\",\n    )\n\n\n\nPreservation of UUIDs\n=====================\nIf the system to be imported into MO contains UUIDs that should be preserved in MO,\nit is possible to import the UUIDs for employees, organisational units, classes and\nclassifications. This is achieved by adding an extra uuid argument when creating the\nobject, eg:\n\n.. code-block:: python\n\n    os2mo.add_klasse(\n        identifier=\"Betale l\u00f8n\",\n        facet_type_ref=\"responsibility\",\n        uuid=\"195da2b6-e648-4bdc-add1-e22654996997\",\n        user_key=\"0A929060-3392-4C07-8F4E-EF5F9B6AFDE2\",\n        title=\"Betale l\u00f8n\"\n    )\n\n\nExample\n=======\nIf a \"real\" os2mo application is available,\na practial example is provided with contains similar import data\nas the given examples above.\n\nFeel free to run the \"import_example.py\" included in the repository:\n\nExample: $os2mo-data-import-and-export/os2mo_data_import/import_example.py\n\nRun example:\n\n.. code-block:: bash\n\n  cd os2mo_data_import\n  python import_example.py\n\n\nReference\n=========\nFor more information on the os2mo project,\nplease refer to the official documentation.\n\nRead the docs: https://os2mo.readthedocs.io\n\n\nKnown Issues\n============\nCurrently it is not possible to assign \"Leave\" (e.g. various types of leave of absence).\n\nThis issue is related to the validation of type assignments.\n",
    "bugtrack_url": null,
    "license": "MPL-2.0",
    "summary": "A set of tools for OS2MO data import and export",
    "version": "5.4.3",
    "project_urls": {
        "Homepage": "https://git.magenta.dk/rammearkitektur/os2mo_data_import",
        "Repository": "https://git.magenta.dk/rammearkitektur/os2mo_data_import"
    },
    "split_keywords": [
        "os2mo",
        "dipex"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72308ade6c08a3a56b4d092af72319dcbe029aebd061a7799b1f4bd73efe7985",
                "md5": "200f007e8ae9a44320e1b1ebf982bbd4",
                "sha256": "fb32141afa32aaa0109d6958c31ad6462318ecc874c1f353b0357caec0ab8b9a"
            },
            "downloads": -1,
            "filename": "os2mo_data_import-5.4.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "200f007e8ae9a44320e1b1ebf982bbd4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11,<4.0",
            "size": 51410,
            "upload_time": "2023-08-14T09:49:37",
            "upload_time_iso_8601": "2023-08-14T09:49:37.263809Z",
            "url": "https://files.pythonhosted.org/packages/72/30/8ade6c08a3a56b4d092af72319dcbe029aebd061a7799b1f4bd73efe7985/os2mo_data_import-5.4.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc23cfa1ef540cc56facd987bd79679b7bd03560f8782a2b9b9bedccdf89752a",
                "md5": "5ba6437181a0391a980240c7dc7df6ef",
                "sha256": "86c22d3472394abde6c303d35a23fc3d50ce875892c170194f4ac35e7777d45c"
            },
            "downloads": -1,
            "filename": "os2mo_data_import-5.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "5ba6437181a0391a980240c7dc7df6ef",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11,<4.0",
            "size": 40492,
            "upload_time": "2023-08-14T09:49:39",
            "upload_time_iso_8601": "2023-08-14T09:49:39.259596Z",
            "url": "https://files.pythonhosted.org/packages/dc/23/cfa1ef540cc56facd987bd79679b7bd03560f8782a2b9b9bedccdf89752a/os2mo_data_import-5.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-14 09:49:39",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "os2mo-data-import"
}
        
Elapsed time: 0.12894s