From 0cbe69243b4b7538593c27076bbe041cb8c2c384 Mon Sep 17 00:00:00 2001 From: Thibault Dockx <thibault.dockx@fusiondirectory.org> Date: Fri, 4 Apr 2025 10:13:36 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(extractor):=20add=20LDAP=20dat?= =?UTF-8?q?a=20extraction=20plugin=20with=20schema=20and=20metadata=20-=20?= =?UTF-8?q?basic=20structure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 10 ++++++ .../contrib/openldap/extractor-fd.schema | 32 +++++++++++++++++++ extractor/contrib/yaml/description.yaml | 27 ++++++++++++++++ .../breezy/icons/48/apps/extractor-task.png | 0 extractor/locale/en/fusiondirectory.po | 0 5 files changed, 69 insertions(+) create mode 100644 extractor/contrib/openldap/extractor-fd.schema create mode 100644 extractor/contrib/yaml/description.yaml create mode 100644 extractor/html/themes/breezy/icons/48/apps/extractor-task.png create mode 100644 extractor/locale/en/fusiondirectory.po diff --git a/.gitignore b/.gitignore index 6ef5c6d096..3d254de604 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ .directory +.idea/deployment.xml +.idea/fd-plugins.iml +.idea/modules.xml +.idea/php.xml +.idea/sshConfigs.xml +.idea/vcs.xml +.idea/webServers.xml +.idea/workspace.xml +.gitignore +filelist diff --git a/extractor/contrib/openldap/extractor-fd.schema b/extractor/contrib/openldap/extractor-fd.schema new file mode 100644 index 0000000000..d4f0ae02ab --- /dev/null +++ b/extractor/contrib/openldap/extractor-fd.schema @@ -0,0 +1,32 @@ +## +## extractor-fd.schema - Needed by Fusion Directory for extractor plugin +## +## Allows extracting LDAP data based on selected members or groups and a chosen format. +## + +# Attributes + +attributetype ( 1.3.6.1.4.1.38414.93.1.1 NAME 'fdExtractorTaskMembers' + DESC 'Fusion Directory - List of members or groups for extraction tasks' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) + +attributetype ( 1.3.6.1.4.1.38414.93.1.2 NAME 'fdExtractorTaskListOfDN' + DESC 'Fusion Directory - DNs derived from the selected members/groups' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) + +attributetype ( 1.3.6.1.4.1.38414.93.1.3 NAME 'fdExtractorTaskFormat' + DESC 'Fusion Directory - Format used for data extraction (CSV for now, extensible later)' + EQUALITY caseExactMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 + SINGLE-VALUE ) + +# Object Class + +objectclass ( 1.3.6.1.4.1.38414.93.2.1 NAME 'fdExtractorTasks' + DESC 'Fusion Directory - Extractor tasks plugin object class' + SUP top + AUXILIARY + MUST ( fdExtractorTaskMembers $ fdExtractorTaskFormat ) + MAY ( fdExtractorTaskListOfDN ) ) \ No newline at end of file diff --git a/extractor/contrib/yaml/description.yaml b/extractor/contrib/yaml/description.yaml new file mode 100644 index 0000000000..c4a8f9fd00 --- /dev/null +++ b/extractor/contrib/yaml/description.yaml @@ -0,0 +1,27 @@ +information: + authors: + - FusionDirectory + description: LDAP data extraction plugin for FusionDirectory + license: GPLv2 + logoUrl: https://raw.githubusercontent.com/fusiondirectory/fusiondirectory-plugins/dev/extractor/html/themes/breezy/icons/48/apps/extractor.png + name: extractor + origin: package + screenshotUrl: + - https://raw.githubusercontent.com/fusiondirectory/fusiondirectory-plugins/dev/extractor/contrib/screenshots/extractor-task.png + status: Stable + tags: + - user + - group + - automation + - extraction + version: '1.0' +requirement: + fdVersion: 1.5 + phpVersion: 7.4 +support: + contractUrl: https://www.fusiondirectory.org/abonnements-fusiondirectory/ + documentationUrl: https://fusiondirectory-user-manual.readthedocs.io/ + homeUrl: https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins + provider: fusiondirectory + schemaUrl: https://schemas.fusiondirectory.org/ + ticketUrl: https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues \ No newline at end of file diff --git a/extractor/html/themes/breezy/icons/48/apps/extractor-task.png b/extractor/html/themes/breezy/icons/48/apps/extractor-task.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/extractor/locale/en/fusiondirectory.po b/extractor/locale/en/fusiondirectory.po new file mode 100644 index 0000000000..e69de29bb2 -- GitLab