Skip to content

Feat integration directory - #1083

Open
vbillard91 wants to merge 7 commits into
devfrom
feat-integration-directory
Open

Feat integration directory#1083
vbillard91 wants to merge 7 commits into
devfrom
feat-integration-directory

Conversation

@vbillard91

@vbillard91 vbillard91 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Description

Add integration on directory for AAF + optimize AAF. This pull request may have some impact has a part of optimisation to avoid load all the database neo4j in vertx or neo4j, by splitting in package and filter some queries on imported structure. The most important change must be made in configuration:

  • check-exists-relationships must be turn to false. It create a gigantic cache in order to avoid some cheap queries in student creation process. The economy of such cache should be negligeable in the process (<20%) but the cost is huge on vertx or neo4j.

Fixes

https://edifice-community.atlassian.net/browse/ENABLING-1102?search_id=a65441d6-5e5f-4b47-92cc-917b2139cd8f

Type of change

Please check options that are relevant.

  • Chore (PATCH)
  • Doc (PATCH)
  • Bug fix (PATCH)
  • New feature (MINOR)

Which packages changed?

Please check the name of the package you changed

  • admin
  • app-registry
  • archive
  • auth
  • cas
  • common
  • communication
  • conversation
  • directory
  • feeder
  • infra
  • portal
  • session
  • test
  • tests
  • timeline
  • workspace

Tests

  1. Describe here the tests you performed
  2. Step by step
  3. With expected results

Reminder

  • Security flaws

  • Performance impacts (think bulk !)

  • Unit tests were replayed

  • Unit tests were added and/or changed

  • I have updated the reminder for the version including my modifications

  • All done ! 😃

@vbillard91
vbillard91 requested a review from juniorode July 17, 2026 12:30
importer.linkRelativeToStructure(DefaultProfiles.RELATIVE_PROFILE_EXTERNAL_ID, getAcademyPrefix(), structureExternalId);
importer.linkRelativeToClass(DefaultProfiles.RELATIVE_PROFILE_EXTERNAL_ID, getAcademyPrefix(), structureExternalId);
}
return importer.getTransaction().commit().mapEmpty();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça fait bizarre que dans la fonction preCommit on fasse appel à commit. Si pour une raison ou une autre on modifie la chaîne de handler d'aaf, je pense que ça aura des effets de bord.
De plus, quand avant on était atomique sur l'ensemble des structures là on commite par bout, ce qui fait qu'on peut finir dans un état incohérent.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On commit déjà par bout car l'algo parse un fichier à la fois, pour un type de fichier, et les fichiers mélanges les élèves des structures.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour le commit dans le precommit, je vais voir ce que je peux faire, de base il n'existe pas d'autre manière de découper pour eviter l'explosion de mémoire de neo4j. je vais voir si je trouve une idée

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai poussé un refactoring qui ajoute une phase de finalization (postCommit), ce qui clarifie les frontières transactionnelles

Comment thread feeder/src/main/java/org/entcore/feeder/aaf1d/StudentImportProcessing1d2.java Outdated
Comment thread feeder/src/main/java/org/entcore/feeder/dictionary/structures/PostImport.java Outdated
@vbillard91
vbillard91 requested a review from dbreyton July 17, 2026 15:12
@sonarqubecloud

Copy link
Copy Markdown

@vbillard91
vbillard91 force-pushed the feat-integration-directory branch from 8a68c23 to 1290c7c Compare August 27, 2026 13:27
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants