Skip to content
GitLab
    • Explore Projects Groups Topics Snippets
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • fusiondirectory fusiondirectory
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 39
    • Issues 39
    • List
    • Boards
    • Service Desk
    • Milestones
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • fusiondirectoryfusiondirectory
  • fusiondirectoryfusiondirectory
  • Issues
  • #6124
Project 'fusiondirectory/fusiondirectory' was moved to 'fusiondirectory/fd'. Please update any links and bookmarks that may still have the old path.
Closed
Open
Issue created 4 years ago by bmortier@bmortierMaintainer
  • New related issue

  • New related issue

Rewrite fusiondirectory-setup cli tool in PHP

Closed

Rewrite fusiondirectory-setup cli tool in PHP

Descriptive title for this enhancement

rewrite the fusiondirectory-setup in php

Actual behavior

actually fusiondirectory-setup is in perl but its difficult to support and in certains distributions like centos 8 support for perl is suboptimal

Expected behavior

be able to convert fusiondirectory-setup to an php porgram run by php-cli

Step by step description of new behaviour

  1. [First Step]
  2. [Second Step]
  3. [and so on...]

Benefits

be able to remove all perl dependancies, and use the ldap lib created in ldap-config-manager

Possible Drawbacks

replacement of perl libraries with core perl libraries

Restrictions

  • we should use all core php libraries and avoid using external one
  • If we use external one we should check that they run correctly on all the targte os : debian 9-10/ubuntu 16-18-20/centos 7-8
Edited 3 years ago
An error occurred while loading designs. Please try again.

Tasks

0
Cannot read properties of undefined (reading 'workItem')

Linked items
0

Link issues together to show that they're related. Learn more.

Activity


  • bmortier changed milestone to %FusionDirectory 1.4 4 years ago

    changed milestone to %FusionDirectory 1.4

  • bmortier added PJ1802-0188 label 4 years ago

    added PJ1802-0188 label

  • bmortier
    bmortier @bmortier · 4 years ago
    Author Maintainer

    I do not think it’s realistic to convert the whole tool to PHP for %FusionDirectory 1.4 but we can start looking at what is still useful and what should be converted first.

    Command list:

    Should not be converted to PHP:

    --migrate-winstations   Migrating your winstations from FD < 1.1
    --migrate-dhcp  Migrating DHCP configurations for FD >= 1.0.17
    --migrate-systems       Migrating your systems from FD < 1.1
    --delete-gosa-locks     Delete lock tokens using old gosaLockEntry class
    --migrate-phones        Migrating your phones from FD < 1.1

    May be dropped after 1.5: --update-cache Updating class.cache

    Migrations we need to keep:

    --migrate-interfaces    Migrating your systems from FD < 1.4
    --remove-supann-root    Remove SupAnn root establishment from FD < 1.4
    --migrate-users Migrating your users
    --check-ids     Checking for duplicated uid or gid numbers

    Filesystem related:

    --check-config  Checking FusionDirectory's config file
    --check-directories     Checking FusionDirectory's directories
    --show-version  Show FusionDirectory version from variables_common.inc

    LDAP related:

    --list-deprecated       List deprecated attributes and objectclasses
    --check-deprecated      List LDAP entries using deprecated attributes or objectclasses
    --ldif-deprecated       # Print an LDIF removing deprecated attributes
    --check-ldap    Checking your LDAP tree
    --show-config   Show an LDAP dump of the FusionDirectory configuration
    --set-config-VAR=value  Set the value in LDAP of a configuration field

    Tools:

    --update-locales        Updating translations
    --list-vars     List possible vars to give --set
    --set-VAR=value Set the variable VAR to value see --list-vars
    --write-vars    Choose FusionDirectory Directories
    --install-plugins       Installing FusionDirectory's plugins
    --encrypt-passwords     Encrypt passwords in fusiondirectory.conf

    Not commands:

    --yes                   Always answer yes to yes/no questions
    --help                  Shows this help

    Stuff related to deprecated schema items may fit well in ldap-config-manager

    By Côme Chilliet on 2020-11-24T16:08:41 (imported from GitLab)

    • bmortier
      bmortier @bmortier · 4 years ago
      Author Maintainer

      hello @cchilliet @jswaelens ,

      my thinking right now is that we need to separated tools :

      • fusionDirectory-setup
      • fusiondirectory-migrate

      in the fusiondirectory-setup i see the following command

      Filesystem related:

      --check-config  Checking FusionDirectory's config file
      --check-directories     Checking FusionDirectory's directories
      --show-version  Show FusionDirectory version from variables_common.inc

      LDAP related:

      --check-ldap    Checking your LDAP tree
      --show-config   Show an LDAP dump of the FusionDirectory configuration
      --set-config-VAR=value  Set the value in LDAP of a configuration field

      Tools:

      --update-cache  Updating class.cache
      --update-locales        Updating translations
      --list-vars     List possible vars to give --set
      --set-VAR=value Set the variable VAR to value see --list-vars
      --write-vars    Choose FusionDirectory Directories
      --install-plugins       Installing FusionDirectory's plugins
      --encrypt-passwords     Encrypt passwords in fusiondirectory.conf

      Not commands:

      --yes                   Always answer yes to yes/no questions
      --help                  Shows this help

      in the fusiondirectory-migration i see the following command :

      data migration :

      --migrate-interfaces    Migrating your systems from FD < 1.4
      --remove-supann-root    Remove SupAnn root establishment from FD < 1.4
      --migrate-users Migrating your users
      --check-ids     Checking for duplicated uid or gid numbers
      --list-deprecated       List deprecated attributes and objectclasses
      --check-deprecated      List LDAP entries using deprecated attributes or objectclasses
      --ldif-deprecated       # Print an LDIF removing deprecated attributes

      this as the added advantage that in case of migration we don't touch fusiondirectory-setup anymore and ease the packaging also as change in fusiondirectory-setup sometime need to refresh patch

      Cheers

      By bmortier on 2020-12-14T14:04:33 (imported from GitLab)

    • bmortier
      bmortier @bmortier · 4 years ago
      Author Maintainer

      I think fusiondirectory-migration will be the easiest to write in PHP. The deprecated options are especially easy and adapted to interact with our new ldap library.

      --migrate-interfaces    Migrating your systems from FD < 1.4

      The longest one it seems, should be migrated in half a day.

      --remove-supann-root    Remove SupAnn root establishment from FD < 1.4

      Just a search and deletion, should be easy.

      --migrate-users Migrating your users

      Quite short, easy to migrate

      --check-ids     Checking for duplicated uid or gid numbers

      Same.

      By Côme Chilliet on 2020-12-14T14:04:33 (imported from GitLab)

    • bmortier
      bmortier @bmortier · 3 years ago
      Author Maintainer

      The following options have been converted to PHP in the new fusiondirectory-migration tool in the MR:

      --migrate-interfaces    Migrating your systems from FD < 1.4
      --remove-supann-root    Remove SupAnn root establishment from FD < 1.4
      --migrate-users Migrating your users
      --check-ids     Checking for duplicated uid or gid numbers
      --list-deprecated       List deprecated attributes and objectclasses
      --check-deprecated      List LDAP entries using deprecated attributes or objectclasses

      --ldif-deprecated is still missing.

      The MR will need a decision on how/where we package fusiondirectory-cli and fusiondirectory-ldap. Also, the code is for now in contrib/cli, not sure where it should be.

      By Côme Chilliet on 2021-09-07T15:04:23 (imported from GitLab)

    • bmortier
      bmortier @bmortier · 3 years ago
      Author Maintainer

      --ldif-deprecated is implemented as well

      By Côme Chilliet on 2021-09-13T14:56:59 (imported from GitLab)

      Edited 3 years ago by bmortier
    • bmortier
      bmortier @bmortier · 3 years ago
      Author Maintainer

      Decision on namespace and folders:

      It has been decided to put the code for the tools in namespace \FusionDirectory\Tools, separated from \FusionDirectory\Cli. The files should go into src/FusionDirectory/Tools, to match the library repository organisations, and to prepare for the big rename of 1.5 (Where include should be moved to src/FusionDirectory/Core and plugins to src/FusionDirectory/Plugins).

      By Côme Chilliet on 2021-09-09T14:44:44 (imported from GitLab)

    • bmortier
      bmortier @bmortier · 3 years ago
      Author Maintainer

      Regarding the fusiondirectory-setup PHP version, current status:

      • --check-config Checking FusionDirectory's config file
      • --check-directories Checking FusionDirectory's directories
      • --show-version Show FusionDirectory version from variables_common.inc
      • --check-ldap Checking your LDAP tree
      • --show-config Show an LDAP dump of the FusionDirectory configuration
      • --set-config-VAR=value Set the value in LDAP of a configuration field
      • --update-cache Updating class.cache
      • --update-locales Updating translations
      • --list-vars List possible vars to give --set
      • --set-VAR=value Set the variable VAR to value see --list-vars
      • --write-vars Choose FusionDirectory Directories
      • --install-plugins Installing FusionDirectory's plugins
      • --encrypt-passwords Encrypt passwords in fusiondirectory.conf
      • --show-passwords

      By Côme Chilliet on 2021-09-16T15:04:16 (imported from GitLab)

      Edited 3 years ago by bmortier
    • bmortier
      bmortier @bmortier · 3 years ago
      Author Maintainer

      @cchilliet

      to reply to the mail response you send --update-locales is used to compile a locale file when people add and remove plugins, because there is only one locale file for each software and we need a compiled version

      By bmortier on 2021-09-14T18:44:57 (imported from GitLab)

    • Please register or sign in to reply
  • bmortier added 1h of time spent at 2020-12-10 4 years ago

    added 1h of time spent at 2020-12-10

    By bmortier on 2020-12-10T10:53:47 (imported from GitLab)

  • bmortier changed title from rewrite the fusiondirectory-setup in php to Rewrite fusiondirectory-setup cli tool in PHP 3 years ago

    changed title from rewrite the fusiondirectory-setup in php to Rewrite fusiondirectory-setup cli tool in PHP

    By Côme Chilliet on 2021-05-27T10:04:47 (imported from GitLab)

  • bmortier added fusiondirectory-setup label 3 years ago

    added fusiondirectory-setup label

  • bmortier changed due date to September 06, 2021 3 years ago

    changed due date to September 06, 2021

    By bmortier on 2021-09-02T06:28:04 (imported from GitLab)

  • bmortier created merge request !941 to address this issue 3 years ago

    created merge request !941 to address this issue

    By Côme Chilliet on 2021-09-06T13:23:23 (imported from GitLab)

  • bmortier mentioned in merge request !941 3 years ago

    mentioned in merge request !941

    By Côme Chilliet on 2021-09-06T13:23:24 (imported from GitLab)

  • bmortier mentioned in commit aafbeb59 3 years ago

    mentioned in commit aafbeb59

    By Côme Chilliet on 2021-09-06T15:02:01 (imported from GitLab)

  • bmortier added 1h of time spent 3 years ago

    added 1h of time spent

    By Côme Chilliet on 2021-09-06T15:02:39 (imported from GitLab)

  • bmortier marked this issue as related to fusiondirectory-ldap#3 (closed) 3 years ago

    marked this issue as related to fusiondirectory-ldap#3 (closed)

    By Côme Chilliet on 2021-09-07T09:12:03 (imported from GitLab)

  • bmortier mentioned in commit 1246f939 3 years ago

    mentioned in commit 1246f939

    By Côme Chilliet on 2021-09-07T09:13:30 (imported from GitLab)

  • bmortier mentioned in commit d07c58de 3 years ago

    mentioned in commit d07c58de

    By Côme Chilliet on 2021-09-07T09:36:08 (imported from GitLab)

  • bmortier mentioned in commit a39d5ea4 3 years ago

    mentioned in commit a39d5ea4

    By Côme Chilliet on 2021-09-07T12:27:01 (imported from GitLab)

  • bmortier mentioned in commit 982b9302 3 years ago

    mentioned in commit 982b9302

    By Côme Chilliet on 2021-09-07T13:34:04 (imported from GitLab)

  • bmortier mentioned in commit d56f284d 3 years ago

    mentioned in commit d56f284d

    By Côme Chilliet on 2021-09-07T14:04:14 (imported from GitLab)

  • bmortier mentioned in commit 0b6b4027 3 years ago

    mentioned in commit 0b6b4027

    By Côme Chilliet on 2021-09-07T14:25:20 (imported from GitLab)

  • bmortier marked this issue as related to fusiondirectory-cli#2 (closed) 3 years ago

    marked this issue as related to fusiondirectory-cli#2 (closed)

    By Côme Chilliet on 2021-09-07T14:27:02 (imported from GitLab)

  • bmortier added 1d of time spent 3 years ago

    added 1d of time spent

    By Côme Chilliet on 2021-09-07T15:04:42 (imported from GitLab)

  • bmortier mentioned in commit 79213629 3 years ago

    mentioned in commit 79213629

    By Côme Chilliet on 2021-09-09T07:44:11 (imported from GitLab)

  • bmortier mentioned in commit 951c8098 3 years ago

    mentioned in commit 951c8098

    By Côme Chilliet on 2021-09-09T07:44:12 (imported from GitLab)

  • bmortier mentioned in commit 7effcd11 3 years ago

    mentioned in commit 7effcd11

    By Côme Chilliet on 2021-09-09T07:44:12 (imported from GitLab)

  • bmortier mentioned in commit 1bd19fda 3 years ago

    mentioned in commit 1bd19fda

    By Côme Chilliet on 2021-09-09T07:44:12 (imported from GitLab)

  • bmortier mentioned in commit 07ebbacd 3 years ago

    mentioned in commit 07ebbacd

    By Côme Chilliet on 2021-09-09T07:44:12 (imported from GitLab)

  • bmortier mentioned in commit 679b0113 3 years ago

    mentioned in commit 679b0113

    By Côme Chilliet on 2021-09-09T07:44:12 (imported from GitLab)

  • bmortier mentioned in commit 879bdcac 3 years ago

    mentioned in commit 879bdcac

    By Côme Chilliet on 2021-09-09T08:06:51 (imported from GitLab)

  • bmortier mentioned in commit 752b899b 3 years ago

    mentioned in commit 752b899b

    By Côme Chilliet on 2021-09-09T09:05:48 (imported from GitLab)

  • bmortier mentioned in commit 0e92b63e 3 years ago

    mentioned in commit 0e92b63e

    By Côme Chilliet on 2021-09-09T09:05:48 (imported from GitLab)

  • bmortier mentioned in commit c1d4f3b6 3 years ago

    mentioned in commit c1d4f3b6

    By Côme Chilliet on 2021-09-09T09:50:21 (imported from GitLab)

  • bmortier mentioned in commit 36ff4fa3 3 years ago

    mentioned in commit 36ff4fa3

    By Côme Chilliet on 2021-09-09T09:59:18 (imported from GitLab)

  • bmortier mentioned in commit f2478977 3 years ago

    mentioned in commit f2478977

    By Côme Chilliet on 2021-09-09T09:59:19 (imported from GitLab)

  • bmortier mentioned in commit 5e7909e4 3 years ago

    mentioned in commit 5e7909e4

    By Côme Chilliet on 2021-09-09T10:32:15 (imported from GitLab)

  • bmortier mentioned in commit 1d9287e5 3 years ago

    mentioned in commit 1d9287e5

    By Côme Chilliet on 2021-09-09T10:34:03 (imported from GitLab)

  • bmortier mentioned in commit a9d9089e 3 years ago

    mentioned in commit a9d9089e

    By Côme Chilliet on 2021-09-09T12:19:30 (imported from GitLab)

  • bmortier mentioned in commit af262c57 3 years ago

    mentioned in commit af262c57

    By Côme Chilliet on 2021-09-09T12:50:26 (imported from GitLab)

  • bmortier mentioned in commit 30717977 3 years ago

    mentioned in commit 30717977

    By Côme Chilliet on 2021-09-09T12:50:26 (imported from GitLab)

  • bmortier mentioned in commit dac784a9 3 years ago

    mentioned in commit dac784a9

    By Côme Chilliet on 2021-09-09T15:02:04 (imported from GitLab)

  • bmortier mentioned in commit 522617c5 3 years ago

    mentioned in commit 522617c5

    By Côme Chilliet on 2021-09-13T14:56:39 (imported from GitLab)

  • bmortier mentioned in commit b7d92b17 3 years ago

    mentioned in commit b7d92b17

    By Côme Chilliet on 2021-09-13T14:56:39 (imported from GitLab)

  • bmortier added 3h of time spent 3 years ago

    added 3h of time spent

    By Côme Chilliet on 2021-09-13T15:00:24 (imported from GitLab)

  • bmortier mentioned in commit 90dc090f 3 years ago

    mentioned in commit 90dc090f

    By Côme Chilliet on 2021-09-14T07:09:40 (imported from GitLab)

  • bmortier mentioned in commit 29841302 3 years ago

    mentioned in commit 29841302

    By Côme Chilliet on 2021-09-14T08:22:23 (imported from GitLab)

  • bmortier mentioned in commit fb45a5b4 3 years ago

    mentioned in commit fb45a5b4

    By Côme Chilliet on 2021-09-14T08:22:23 (imported from GitLab)

  • bmortier mentioned in commit 6fe647a0 3 years ago

    mentioned in commit 6fe647a0

    By Côme Chilliet on 2021-09-14T12:26:29 (imported from GitLab)

  • bmortier marked this issue as related to #6125 3 years ago

    marked this issue as related to #6125

    By Côme Chilliet on 2021-09-14T12:55:17 (imported from GitLab)

  • bmortier mentioned in commit 891f3110 3 years ago

    mentioned in commit 891f3110

    By Côme Chilliet on 2021-09-14T13:39:17 (imported from GitLab)

  • bmortier
    bmortier @bmortier · 3 years ago
    Author Maintainer

    Based on pkgs.org there are packages for Centos about php-libsodium. It looks that for Debian (and maybe Ubuntu) it's already in PHP.

    By Jonathan Swaelens on 2021-09-14T15:34:27 (imported from GitLab)

  • bmortier added 10m of time spent 3 years ago

    added 10m of time spent

    By bmortier on 2021-09-14T18:44:57 (imported from GitLab)

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Assignee
bmortier's avatar
bmortier
Assign to
Labels
2
Bugs Removed
2
Bugs Removed
    Assign labels
  • Manage project labels

Milestone
FusionDirectory 1.0.9
FusionDirectory 1.0.9 (expired)
Due date
None
None
None
Time tracking
No estimate or time spent
Confidentiality
Not confidential
Not confidential

You are going to turn on confidentiality. Only project members with at least the Reporter role, the author, and assignees can view or be notified about this issue.

Lock issue
Unlocked
0
0 Participants
Reference: fusiondirectory/fd#3849

Menu

Explore Projects Groups Topics Snippets