microsoft / microsoft/AL

ALDoc : Best practices for folder naming

Open
#7,502 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

al-doc-tool
Dominant language
PowerShell
Stars
881
Forks
285
Avg merge
3d 36m
Merged PRs (30d)
1

Description

Please include the following with each issue:

1. Describe the bug
We would like to get some more insights on how ALDoc / Doxfx is generating the TOC for the documentation site. Our .al files are currenly organized into separate folder by logical domain / feature / library. We would like ALDoc to generate a similar table of contents, respecting this logical grouping.

I've however tried several setup but would like to get some recommendations of MS on how to best structure the files to get the desired ALDoc result.

PS: Seems like the system apps of MS also use \Src as subfolder, while the Base App does not and uses root folders by feature / namespace.
PS 2: This applies to an app that does not apply namespaces yet.

2. To Reproduce

Scenario 1 (our current app structure)

  • Current App has a \permission and \src folder, both containins ALL .al files
  • The files in the \src folder are logically grouped in subfolders.
  • The AlDoc results is not sufficient, as it only list permissions and src as Modules.

image

Scenario 2

  • App's root folder contains different folders with .al files, logically grouped in folders.
  • Result is quit OK (except several bugs of inproper ESCA folders)
  • Downside is that source files are no longer grouped inside a separate folder (and are in between the Translations, Settings, ... folders)

image

Scenario 3

  • App has one \src folder containins ALL .al files, logically grouped in folders.
  • From a developers perspective, that would be a valid solution, as it isolates sources from other app folders such as Translations, Settings, ...
  • The ALDoc does no longer respect / inherit the logical grouping

image

3. Expected behavior
I'm looking for a solution / advice on having the logical app folder structure represented as Modules in the AL documentation.

5. Versions:

  • AL Language: 13.0.864697

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with CONTRIBUTING.md and the ALDoc/Doxfx behavior described for the three folder layouts. Compare how the permission and src folders are represented in the generated documentation, then determine what folder structure or ALDoc behavior would preserve logical grouping. Done means a documented recommendation or agreed change that represents those groups as Modules.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode
Domain
documentation, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.