---
# System prepended metadata

title: Origine d'un objet
tags: [lyra, howtos, dsplus]

---

---
tags: dsplus,lyra,howtos
title : Origine d'un objet
description: Exemples, trucs et astuces pour dsplus
---


# Déterminer l'origine d'un objet

L'information du serveur et du projet d'origine des objets d'un package est identifiable via le manifeste du package lorsque celui-ci a été constitué en mode `FULL`.
```bash
# Afficher le manifest
dsplus manifest --pack package.isx
# N'afficher que la liste des objets datastage
dsplus manifest --pack package.isx --query ds
```
```json=
[
  'IS-ENGINEDOCKER/dstage1/T_NR/Js_NR.qjb',
  'IS-ENGINEDOCKER/dstage1/T_NR/Jx_NR_Lvl1.pjb',
  'IS-ENGINEDOCKER/dstage1/T_NR/Jx_NR_Lvl2.pjb',
  'IS-ENGINEDOCKER/dstage1/T_NR/Jx_NR_Lvl3.pjb',
  'IS-ENGINEDOCKER/dstage1/T_NR/jobs/Jx_NR_00_GetKeys.pjb',
  'IS-ENGINEDOCKER/dstage1/T_NR/jobs/Jx_NR_Lvl1_0.pjb',
  'IS-ENGINEDOCKER/dstage1/T_NR/params/Ps_NR_Db.pst',
  'IS-ENGINEDOCKER/dstage1/T_NR/routines/RtTnrGetKeys.srt',
  'IS-ENGINEDOCKER/dstage1/T_NR/routines/RtTnrSetKey.srt',
  'IS-ENGINEDOCKER/dstage1/T_NR/stages/StTnrRdStats.stp',
  'IS-ENGINEDOCKER/dstage1/T_NR/stages/StTnrWrStats.stp'
]

```

Exemple avec formatage avancé

```bash
dsplus manifest --pack package.isx --query 'ds.{"server":$split("/")[0],"project":$split("/")[1],"object":$split("/")[-1].$split(".")[0]}' --format table
```
```bash=
┌─────────┬───────────────────┬───────────┬────────────────────┐
│ (index) │      server       │  project  │       object       │
├─────────┼───────────────────┼───────────┼────────────────────┤
│    0    │ 'IS-ENGINEDOCKER' │ 'dstage1' │      'Js_NR'       │
│    1    │ 'IS-ENGINEDOCKER' │ 'dstage1' │    'Jx_NR_Lvl1'    │
│    2    │ 'IS-ENGINEDOCKER' │ 'dstage1' │    'Jx_NR_Lvl2'    │
│    3    │ 'IS-ENGINEDOCKER' │ 'dstage1' │    'Jx_NR_Lvl3'    │
│    4    │ 'IS-ENGINEDOCKER' │ 'dstage1' │ 'Jx_NR_00_GetKeys' │
│    5    │ 'IS-ENGINEDOCKER' │ 'dstage1' │   'Jx_NR_Lvl1_0'   │
│    6    │ 'IS-ENGINEDOCKER' │ 'dstage1' │     'Ps_NR_Db'     │
│    7    │ 'IS-ENGINEDOCKER' │ 'dstage1' │   'RtTnrGetKeys'   │
│    8    │ 'IS-ENGINEDOCKER' │ 'dstage1' │   'RtTnrSetKey'    │
│    9    │ 'IS-ENGINEDOCKER' │ 'dstage1' │   'StTnrRdStats'   │
│   10    │ 'IS-ENGINEDOCKER' │ 'dstage1' │   'StTnrWrStats'   │
└─────────┴───────────────────┴───────────┴────────────────────┘
```

## Proposition

Une évolution prochaine de `dsplus` ajoutera les informations du serveur et projet d'origine dans les métadonnées de l'objet:
```bash
dsplus  get --metadata --job Test --project dstage1 -v --info all
```
```json=
{
  isSystem: false,
  modificationTimestamp: '2020/12/17 10:44:05',
  modifiedByUser: 'isadmin',
  creationTimestamp: '2019/12/17 13:58:46',
  createdByUser: 'isadmin',
  category: '/Jobs',
  name: 'Test',
  jobType: 3,
  webServiceEnabled: false,
  RID: 'c2e76d84.43058877.001mu517e.1q08rqk.8n4v00.gn5mhu7t9bfpsko1qre97',
  itemRID: 'c2e76d84.78be1842.001mu517e.3cf4nfk.h9hbn8.pafhpaurergubpknoaiu0',
  parentRID: 'c2e76d84.3c3729dd.0026u512i.loijjg4.b6scqf.r74k4bn0mme0acr0is350',
  project: 'dstage1',
  server: 'IS-ENGINEDOCKER',
  domain: 'localhost:9446'
}
```

Si ces métadonnées sont commitées dans Git alors elle seront intégrées au manifeste lors du packaging.
Il sera par ailleurs également possible d'ajouter au manifeste des informations arbitraires lors du packaging.


