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

Azure Blob Storage, Azure File Share and SharePoint Online Connector Apps #23225

Open
wants to merge 64 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
7584061
Initial commit
IceOnly May 3, 2023
6ecfacc
Add File Browser
IceOnly May 4, 2023
25bc19c
Add File System Codeunit
IceOnly May 5, 2023
959f05e
Add documentation and small changes
IceOnly May 5, 2023
4bb4080
Fix up action
IceOnly May 5, 2023
4acb5f1
Remove all indataset
IceOnly Oct 6, 2023
74c5ece
Store Assisted Setup Image in a locked label
IceOnly Oct 6, 2023
f7af2e7
Add review changes
IceOnly Oct 6, 2023
c4cd06b
Add pagination support
IceOnly Oct 6, 2023
24725be
Rename Module
IceOnly Oct 6, 2023
763a7a0
Add directory support to Storage Blob Implementation
IceOnly Oct 6, 2023
e67351e
Use actionref in Account Browser
IceOnly Oct 6, 2023
ac6c08e
Add permissions
IceOnly Oct 6, 2023
4d88e2c
Add permission sets
IceOnly Oct 6, 2023
c5fc386
Fix application area
IceOnly Oct 6, 2023
248542b
Add namespace and disclaimer to all files
IceOnly Oct 9, 2023
3a5573f
Merge branch 'main' of https://github.com/microsoft/ALAppExtensions i…
IceOnly Oct 9, 2023
06d382a
Fix version
IceOnly Oct 9, 2023
32793d8
Remove system apps
IceOnly Feb 29, 2024
d256d81
Remove app.json
IceOnly Feb 29, 2024
5965d1b
Update app.json
IceOnly Feb 29, 2024
4bda136
Fix app.json
IceOnly Feb 29, 2024
7c10d31
Update to BC24
IceOnly Feb 29, 2024
a02efa8
Rename app
IceOnly Feb 29, 2024
1008fbd
Add file share connector
IceOnly Feb 29, 2024
474d088
Add both auth types
IceOnly Mar 1, 2024
bfca361
Apply interface changes
IceOnly Mar 1, 2024
d399759
Fix auth case type
IceOnly Mar 1, 2024
b82e490
Fix File Exists
IceOnly Mar 1, 2024
5864984
Add SharePoint Connector
IceOnly Mar 1, 2024
3b82bc0
Fix sharepoint connector
IceOnly Mar 1, 2024
e6e5ec9
Add review suggestions
IceOnly Mar 3, 2024
56d5525
Remove nondebuggable from SecretText Get And Set procedures
IceOnly Mar 5, 2024
7a31007
Remove old analyse variables
IceOnly Apr 10, 2024
64c59a4
Update application and platform versions to 25.0.0.0; modify SetReady…
IceOnly Dec 15, 2024
192a487
Refactor InitOptionalParameters to remove unused Path parameter
IceOnly Dec 15, 2024
579b36a
Update application and platform versions to 25.0.0.0; modify BlobStor…
IceOnly Dec 15, 2024
1c8430f
Update application and platform versions to 25.0.0.0 in app.json
IceOnly Dec 15, 2024
2704e74
Refactor namespaces from System.FileSystem to System.ExternalFileStor…
IceOnly Dec 17, 2024
abdb1e3
Refactor ListFiles, ListDirectories, GetAccounts, RegisterAccount, an…
IceOnly Dec 19, 2024
c14da3b
Add review suggestions
IceOnly Jan 7, 2025
3b46c2a
Fix variable names
IceOnly Jan 7, 2025
5612746
Update README files and permissions for Azure File and Blob Service C…
IceOnly Jan 8, 2025
2854c05
Rename app folders
IceOnly Jan 8, 2025
16d923a
Update enum values for Blob Storage and File Share connectors for con…
IceOnly Jan 8, 2025
68339fb
Update platform field in app.json files for Azure Blob, File, and Sha…
IceOnly Jan 8, 2025
934d894
Add DataClassification to Blob Storage and SharePoint Account tables
IceOnly Jan 8, 2025
8418892
Add resourceFolders property to app.json for Azure Blob Service Conne…
IceOnly Jan 8, 2025
a3a454c
Add prefix Ext. to all new objects
IceOnly Jan 9, 2025
e22faec
Remove unnecessary blank lines in Ext. File Share Account and SharePo…
IceOnly Jan 9, 2025
dd360ba
Add entitlements and permissions for Azure Blob, File Share, and Shar…
IceOnly Jan 9, 2025
eb9abc2
Rename permission set extensions for Azure Blob, File Share, and Shar…
IceOnly Jan 9, 2025
0bbc99b
Add internal access modifier to authorization type and secret key fie…
IceOnly Jan 14, 2025
a06496e
Add 'Disabled' field to SharePoint, Azure File Share, and Blob Storag…
IceOnly Jan 15, 2025
2b21ae8
Sort properties, remove wrong line break
IceOnly Jan 16, 2025
4a1cc2c
Update tooltips in Azure Blob, File Share, and SharePoint account wiz…
IceOnly Jan 16, 2025
d8dac8f
Refactor variable names in SharePoint account creation procedure for …
IceOnly Jan 16, 2025
0d4c0c3
Move secret key visibility logic to OnAfterGetCurrRecord trigger in A…
IceOnly Jan 16, 2025
1adf7f9
Update ObjectEntitlements label in ExtBlobStorageConnector entitlemen…
IceOnly Jan 16, 2025
108c4b0
Set AllowInCustomizations to Never for Id field in Azure Blob, File S…
IceOnly Jan 16, 2025
aa22a13
Add permission set extensions for editing external storage in Azure B…
IceOnly Jan 16, 2025
2c878e7
Merge branch 'main' of https://github.com/microsoft/ALAppExtensions i…
IceOnly Jan 17, 2025
25ef46b
Add tests
IceOnly Jan 23, 2025
4ca4fee
Add environment cleanup tests for account management
IceOnly Jan 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -17,36 +17,31 @@ page 80100 "Blob Storage Account"
Extensible = false;
InsertAllowed = false;
DataCaptionExpression = Rec.Name;
UsageCategory = None;
ApplicationArea = All;

layout
{
area(Content)
{
field(NameField; Rec.Name)
{
ApplicationArea = All;
Caption = 'Account Name';
ToolTip = 'Specifies the name of the Storage account connection.';
ShowMandatory = true;
NotBlank = true;
}

field(StorageAccountNameField; Rec."Storage Account Name")
{
ApplicationArea = All;
Caption = 'Storage Account Name';
ToolTip = 'Specifies the Azure Storage name.';
}

field("Authorization Type"; Rec."Authorization Type")
{
ApplicationArea = All;
ToolTip = 'The way of authorizing used to access the Blob Storage.';
}

field(SecretField; Secret)
{
ApplicationArea = All;
Caption = 'Password';
Editable = SecretEditable;
ExtendedDatatype = Masked;
Expand All @@ -60,16 +55,16 @@ page 80100 "Blob Storage Account"

field(ContainerNameField; Rec."Container Name")
{
ApplicationArea = All;
Caption = 'Container Name';
ToolTip = 'Specifies the Azure Storage Container name.';

trigger OnLookup(var Text: Text): Boolean
var
BlobStorageConnectorImpl: Codeunit "Blob Storage Connector Impl.";
NewContainerName: Text[2048];
begin
CurrPage.Update();
BlobStorageConnectorImpl.LookUpContainer(Rec, Rec."Authorization Type", Rec.GetSecret(Rec."Secret Key"), Text);
NewContainerName := CopyStr(Text, 1, MaxStrLen(NewContainerName));
BlobStorageConnectorImpl.LookUpContainer(Rec, Rec."Authorization Type", Rec.GetSecret(Rec."Secret Key"), NewContainerName);
Text := NewContainerName;
exit(true);
end;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,22 @@ table 80100 "Blob Storage Account"
{
DataClassification = CustomerContent;
Caption = 'Name of account';
ToolTip = 'Specifies the name of the Storage account connection.';
}
field(3; "Storage Account Name"; Text[2048])
{
Caption = 'Storage Account Name';
ToolTip = 'Specifies the Azure Storage name.';
}
field(4; "Container Name"; Text[2048])
{
Caption = 'Container Name';
ToolTip = 'Specifies the Azure Storage Container name.';
}
field(7; "Authorization Type"; Enum "Blob Storage Auth. Type")
{
Caption = 'Authorization Type';
ToolTip = 'The way of authorizing used to access the Blob Storage.';
}
field(8; "Secret Key"; Guid)
{
Expand All @@ -63,7 +67,7 @@ table 80100 "Blob Storage Account"
if IsolatedStorage.Delete(Rec."Secret Key") then;
end;

procedure SetSecret(Secret: Text)
procedure SetSecret(Secret: SecretText)
begin
if IsNullGuid(Rec."Secret Key") then
Rec."Secret Key" := CreateGuid();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ page 80101 "Blob Storage Account Wizard"
PageType = NavigatePage;
Extensible = false;
Editable = true;
ApplicationArea = All;

layout
{
Expand All @@ -31,7 +32,6 @@ page 80101 "Blob Storage Account Wizard"
Visible = TopBannerVisible;
field(NotDoneIcon; MediaResources."Media Reference")
{
ApplicationArea = All;
Editable = false;
ShowCaption = false;
ToolTip = ' ';
Expand All @@ -41,7 +41,6 @@ page 80101 "Blob Storage Account Wizard"

field(NameField; Rec.Name)
{
ApplicationArea = All;
Caption = 'Account Name';
ToolTip = 'Specifies the name of the Azure Blob Storage account.';
ShowMandatory = true;
Expand All @@ -55,9 +54,7 @@ page 80101 "Blob Storage Account Wizard"

field(StorageAccountNameField; Rec."Storage Account Name")
{
ApplicationArea = All;
Caption = 'Storage Account Name';
ToolTip = 'Specifies the Azure Storage name.';
ShowMandatory = true;

trigger OnValidate()
Expand All @@ -68,13 +65,10 @@ page 80101 "Blob Storage Account Wizard"

field("Authorization Type"; Rec."Authorization Type")
{
ApplicationArea = All;
ToolTip = 'The way of authorizing used to access the Blob Storage.';
}

field(SecretField; Secret)
{
ApplicationArea = All;
Caption = 'Secret';
ExtendedDatatype = Masked;
ToolTip = 'Specifies the Shared access signature Token or SharedKey.';
Expand All @@ -83,17 +77,19 @@ page 80101 "Blob Storage Account Wizard"

field(ContainerNameField; Rec."Container Name")
{
ApplicationArea = All;
Caption = 'Container Name';
ToolTip = 'Specifies the container to use of the Storage Blob.';
ShowMandatory = true;

trigger OnLookup(var Text: Text): Boolean
var
BlobStorageConnectorImpl: Codeunit "Blob Storage Connector Impl.";
NewContainerName: Text[2048];
begin
CurrPage.Update();
BlobStorageConnectorImpl.LookUpContainer(Rec, Rec."Authorization Type", Secret, Text);
NewContainerName := CopyStr(Text, 1, MaxStrLen(NewContainerName));
BlobStorageConnectorImpl.LookUpContainer(Rec, Rec."Authorization Type", Secret, NewContainerName);
Text := NewContainerName;
exit(true);
end;

Expand All @@ -111,7 +107,6 @@ page 80101 "Blob Storage Account Wizard"
{
action(Back)
{
ApplicationArea = All;
Caption = 'Back';
ToolTip = 'Back';
Image = Cancel;
Expand All @@ -125,7 +120,6 @@ page 80101 "Blob Storage Account Wizard"

action(Next)
{
ApplicationArea = All;
Caption = 'Next';
Image = NextRecord;
Enabled = IsNextEnabled;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

namespace System.ExternalFileStorage;

using System.Text;
using System.Utilities;
using System.Azure.Storage;

Expand All @@ -16,7 +17,6 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
var
ConnectorDescriptionTxt: Label 'Use Azure Blob Storage to store and retrieve files.';
NotRegisteredAccountErr: Label 'We could not find the account. Typically, this is because the account has been deleted.';
ConnectorBase64LogoTxt: Label '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', Locked = true;
MarkerFileNameTok: Label 'BusinessCentral.FileSystem.txt', Locked = true;

/// <summary>
Expand Down Expand Up @@ -143,8 +143,8 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
/// <returns>Returns true if the file exists</returns>
procedure FileExists(AccountId: Guid; Path: Text): Boolean
var
ABSBlobClient: Codeunit "ABS Blob Client";
ABSContainerContent: Record "ABS Container Content";
ABSBlobClient: Codeunit "ABS Blob Client";
ABSOperationResponse: Codeunit "ABS Operation Response";
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
Expand Down Expand Up @@ -221,7 +221,6 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
procedure CreateDirectory(AccountId: Guid; Path: Text)
var
TempBlob: Codeunit "Temp Blob";
ExternalFileStorage: Codeunit "External File Storage";
IStream: InStream;
OStream: OutStream;
DirectoryAlreadyExistsErr: Label 'Directory already exists.';
Expand All @@ -246,8 +245,8 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
/// <returns>Returns true if the directory exists</returns>
procedure DirectoryExists(AccountId: Guid; Path: Text): Boolean
var
ABSBlobClient: Codeunit "ABS Blob Client";
ABSContainerContent: Record "ABS Container Content";
ABSBlobClient: Codeunit "ABS Blob Client";
ABSOperationResponse: Codeunit "ABS Operation Response";
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
Expand Down Expand Up @@ -361,8 +360,12 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
/// </summary>
/// <returns>A base64-formatted image to be used as logo.</returns>
procedure GetLogoAsBase64(): Text
var
Base64Convert: Codeunit "Base64 Convert";
Stream: InStream;
begin
exit(ConnectorBase64LogoTxt);
NavApp.GetResource('connector-logo.png', Stream);
exit(Base64Convert.ToBase64(Stream));
end;

internal procedure IsAccountValid(var TempAccount: Record "Blob Storage Account" temporary): Boolean
Expand All @@ -379,8 +382,7 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
exit(true);
end;

[NonDebuggable]
internal procedure CreateAccount(var AccountToCopy: Record "Blob Storage Account"; Password: Text; var FileAccount: Record "File Account")
internal procedure CreateAccount(var AccountToCopy: Record "Blob Storage Account"; Password: SecretText; var FileAccount: Record "File Account")
var
NewBlobStorageAccount: Record "Blob Storage Account";
begin
Expand Down Expand Up @@ -459,7 +461,7 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
exit(Path + ChildPath);
end;

local procedure InitOptionalParameters(var Path: Text; var FilePaginationData: Codeunit "File Pagination Data"; var ABSOptionalParameters: Codeunit "ABS Optional Parameters")
local procedure InitOptionalParameters(Path: Text; var FilePaginationData: Codeunit "File Pagination Data"; var ABSOptionalParameters: Codeunit "ABS Optional Parameters")
begin
ABSOptionalParameters.Prefix(Path);
ABSOptionalParameters.MaxResults(500);
Expand All @@ -475,7 +477,6 @@ codeunit 80100 "Blob Storage Connector Impl." implements "External File Storage
FilePaginationData.SetEndOfListing(ABSOperationResponse.GetNextMarker() = '');
end;

[NonDebuggable]
local procedure SetReadySAS(var StorageServiceAuthorization: Codeunit "Storage Service Authorization"; Secret: SecretText): Interface System.Azure.Storage."Storage Service Authorization"
begin
exit(StorageServiceAuthorization.UseReadySAS(Secret));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ page 80102 "Blob Storage Container Lookup"
SourceTable = "ABS Container";
Editable = false;
Extensible = false;
ApplicationArea = All;
UsageCategory = None;

layout
{
Expand All @@ -23,7 +25,6 @@ page 80102 "Blob Storage Container Lookup"
{
field(Name; Rec.Name)
{
ApplicationArea = All;
ToolTip = 'Specifies the Name of the container.';
}
}
Expand Down
3 changes: 2 additions & 1 deletion Apps/W1/File - Azure File Service Connector/app/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
"allowDownloadingSource": true,
"includeSourceInSymbolFile": true
},
"contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2134520"
"contextSensitiveHelpUrl": "https://go.microsoft.com/fwlink/?linkid=2134520",
"resourceFolders": ["data"]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -17,36 +17,31 @@ page 80200 "File Share Account"
Extensible = false;
InsertAllowed = false;
DataCaptionExpression = Rec.Name;
ApplicationArea = All;
UsageCategory = None;

layout
{
area(Content)
{
field(NameField; Rec.Name)
{
ApplicationArea = All;
Caption = 'Account Name';
ToolTip = 'Specifies the name of the storage account connection.';
ShowMandatory = true;
NotBlank = true;
}

field(StorageAccountNameField; Rec."Storage Account Name")
{
ApplicationArea = All;
Caption = 'Storage Account Name';
ToolTip = 'Specifies the Azure Storage name.';
}

field("Authorization Type"; Rec."Authorization Type")
{
ApplicationArea = All;
ToolTip = 'The way of authorizing used to access the Blob Storage.';
}

field(SecretField; Secret)
{
ApplicationArea = All;
Caption = 'Password';
Editable = SecretEditable;
ExtendedDatatype = Masked;
Expand All @@ -60,9 +55,7 @@ page 80200 "File Share Account"

field(FileShareNameField; Rec."File Share Name")
{
ApplicationArea = All;
Caption = 'File Share Name';
ToolTip = 'Specifies the Azure File Share name.';
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace System.ExternalFileStorage;
table 80200 "File Share Account"
{
Access = Internal;

DataClassification = CustomerContent;
Caption = 'Azure File Share Account';

fields
Expand All @@ -24,20 +24,23 @@ table 80200 "File Share Account"

field(2; Name; Text[250])
{
DataClassification = CustomerContent;
Caption = 'Name of account';
ToolTip = 'Specifies the name of the storage account connection.';
}
field(3; "Storage Account Name"; Text[2048])
{
Caption = 'Storage Account Name';
ToolTip = 'Specifies the Azure Storage name.';
}
field(4; "File Share Name"; Text[2048])
{
Caption = 'File Share Name';
ToolTip = 'Specifies the Azure File Share name.';
}
field(7; "Authorization Type"; Enum "File Share Auth. Type")
{
Caption = 'Authorization Type';
ToolTip = 'The way of authorizing used to access the Blob Storage.';
}
field(8; "Secret Key"; Guid)
{
Expand Down
Loading
Loading