Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New System App Module for easy file systems access #663

Open
wants to merge 48 commits into
base: main
Choose a base branch
from

Conversation

IceOnly
Copy link

@IceOnly IceOnly commented Feb 29, 2024

Migration of microsoft/ALAppExtensions#23225

Now that we have made several clients Universal code ready.
One of the main problems turned out to be the replacement of the file record and the file object (File.Create, File.Exists).
Some of our customers now use Azure Blob Service from the System app. Others don't have a good internet and now use a local microservice with REST API, others use Azure File Shares.
The problem is that every integration is different. I think many other partners will have the same problem.
To simplify access I have adopted the email module and created new file accounts.
With just one codeunit, a developer can now connect to various file services without having to know how they actually work. The code unit "File System" delviers everything taht is needed.

An additional PR contains three connector apps:
microsoft/ALAppExtensions#23225

This Apps will conenct:

  • Azure Blob Storage
  • Azure File Share
  • SharePoint Online

All three service can be access over one unified interface!

New provider in the future could be:

  • a OneDrive Provider
  • Third Party file services

An example that shows how simple it is to use the new modules can be found here:
https://github.com/IceOnly/BC_FileSystem_Example

But before I go round the whole thing, I'm interested in whether there is any interest in the module at all.

Here are some Screenshots:
image
image
image
image
image
image

I have decided in favour of some restrictions. Paths must not start with a /. The only supported path separator is /. If services that require a \ are to be connected, this must be translated by the connector app.

These restrictions should ensure that the file service can be exchanged without upgrading data.

Copy link

Could not find linked issues in the pull request description. Please make sure the pull request description contains a line that contains 'Fixes #' followed by the issue number being fixed. Use that pattern for every issue you want to link.

Copy link
Contributor

@JesperSchulz JesperSchulz left a comment

Choose a reason for hiding this comment

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

This PR needs some work before the real code review can conducted.

@IceOnly IceOnly marked this pull request as draft February 29, 2024 13:40
@JesperSchulz JesperSchulz changed the title New System App Module for easy file systems access [DRAFT] New System App Module for easy file systems access Feb 29, 2024
@IceOnly IceOnly marked this pull request as ready for review March 1, 2024 15:08
@IceOnly IceOnly changed the title [DRAFT] New System App Module for easy file systems access New System App Module for easy file systems access Mar 1, 2024
@JesperSchulz
Copy link
Contributor

@IceOnly, those were the wrong app.jsons 😉 You should pull main into your branch, and then you should update your app.jsons to the latest version. Then I hope your code compiles and all tests pass, and if they do, we can merge.

@IceOnly
Copy link
Author

IceOnly commented Nov 15, 2024

@JesperSchulz should be correct now 🙈

Copy link
Contributor

@StefanSosic StefanSosic left a comment

Choose a reason for hiding this comment

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

Commented stuff for reimplementation.

@JesperSchulz @IceOnly
Due very large number of comments for smaller things, especially spellings, but also some sorting, app.json, I created new PR, from my fork to IceOnly fork.
PR: IceOnly#1

@IceOnly, before reimplementation, review my changes on PR, approve/merge to this branch. Otherwise it would have conflicts and you would do the fixes by yourself 😁

Let's get this rolling into new release 🚀

@IceOnly
Copy link
Author

IceOnly commented Nov 16, 2024

Commented stuff for reimplementation.

@JesperSchulz @IceOnly Due very large number of comments for smaller things, especially spellings, but also some sorting, app.json, I created new PR, from my fork to IceOnly fork. PR: IceOnly#1

@IceOnly, before reimplementation, review my changes on PR, approve/merge to this branch. Otherwise it would have conflicts and you would do the fixes by yourself 😁

Let's get this rolling into new release 🚀

Thank you @StefanSosic!
I acccepted all changes, except the renaming of the codeunit "File Scenario". Renaming it to "File Scenario Mgt." will break the Facade Naming Pattern.

Copy link
Contributor

@StefanSosic StefanSosic left a comment

Choose a reason for hiding this comment

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

@IceOnly, thank you for the fast addressing of everything! Amazing!!!

@JesperSchulz As agreed, stepped in, all reviewed. From my side green light 🚀

@JesperSchulz
Copy link
Contributor

Let's give this another spin! We're getting there 😎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AL: System Application From Fork Pull request is coming from a fork Integration GitHub request for Integration area
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants