4PointSolutions / 4PointSolutions/FluentFormsAPI

Allow XCIs to be provided "by reference" (i.e. by providing a crx or file path)

Ouverte
#41 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Java
Étoiles
7
Forks
8
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

The Adobe APIs (FormsService and OutputService) only allow custom XCIs to be provided as Document objects. It would be more flexible if a client could provide a crx or file path instead. That would allow them to store the XCI on the AEM server instead of on the client and would prevent having to repeatedly send the XCI with each request (although the XCI would likely still be re-read on each request).

This would mean changing the `setXci()` method on each of the 4 ArgumentBuilders in the OutputService and the ArgumentBuilder on the FormsService. It would also mean adding code to the `rest-services.client`, `rest-services.server` and `fluentforms` libraries to handle this.

The `setXci()` method would likely have to be overloaded to also accept a `PathOrUrl` object. On the server side, the `PathOrUrl` would be checked for being either a CRX Url or a file path. If it's something else, then an exception would be thrown (unless the implementer wants to implement code to read from any URL). If the `PathOrUrl` validation passes, then the code would read from the specified location.

Implementing the file reading code would be pretty trivial. The CRX reading code may require more work.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

The issue mentions modifying the `setXci()` method in ArgumentBuilders across OutputService and FormsService, and updating `rest-services.client`, `rest-services.server`, and `fluentforms` libraries. Start by locating these ArgumentBuilder classes to understand the current implementation. Investigate how `PathOrUrl` objects are handled elsewhere in the codebase for reading from CRX or file paths. The goal is to allow XCI input via reference, so check existing validation and reading logic for similar patterns.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api, backend
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.