text:
[Event Request] Codeunit 5763 Whse.-Post Shipment - OnPostSourceDocumentOnBeforePrintSalesInvoice

Hi, would it be possible to modify the event OnPostSourceDocumentOnBeforePrintSalesInvoice by adding WhseShptLine as a parameter ?
OnPostSourceDocumentOnBeforePrintSalesInvoice(SalesHeader, IsHandled,WhseShptLine);
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: JesperSchulz VMotin

repo: microsoft/ALAppExtensions


text:
[Event Request] Table 38 "Purchase Header" - procedure SendRecords()

    procedure SendRecords()
    var
        DocumentSendingProfile: Record "Document Sending Profile";
        ReportSelections: Record "Report Selections";
        DocTxt: Text[150];
    begin
        CheckMixedDropShipment;

-------------- ADD EVENT -----------
        OnBeforeSendRecords(Rec);
---------------------------------------

        GetReportSelectionsUsageFromDocumentType(ReportSelections.Usage, DocTxt);

        DocumentSendingProfile.SendVendorRecords(
          ReportSelections.Usage.AsInteger(), Rec, DocTxt, "Buy-from Vendor No.", "No.",
          FieldNo("Buy-from Vendor No."), FieldNo("No."));
    end;

.................

 [IntegrationEvent(false, false)]
 local procedure OnBeforeSendRecords(var PurchaseHeader: Record "Purchase Header")
 begin
 end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

source: gharchive/issue

authors: CyrilleJsmt JesperSchulz

license: MIT

license_type: permissive

license_source: github-api


text:
[Event Request] CU90 "Purch.-Post" - procedure CopyAndCheckItemChargeTempPurchLine()

local procedure CopyAndCheckItemChargeTempPurchLine()
var
begin
----------------------- ADD EVENT ----------------------
IsHandled := false;
OnBeforeTestFieldJobNoOnCopyAndCheckItemChargeTempPurchLine(IsHandled)
if not IsHandled then
   TempPurchLine.TestField("Job No.", '');
----------------------------------------------------------

....................
[IntegrationEvent(false, false)]
local procedure OnBeforeTestFieldJobNoOnCopyAndCheckItemChargeTempPurchLine(var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


text:
[Event Request] codeunit 6500 "Item Tracking Management" - OnAfterInsertReservationEntryForPurchaseLine

We would like to add a new event OnAfterInsertReservationEntryForPurchaseLine in the following procedure:
local procedure InsertReservEntryForPurchLine(ItemLedgEntryBuf: Record "Item Ledger Entry"; PurchaseLine: Record "Purchase Line"; QtyBase: Decimal; AppliedToItemEntry: Boolean; var EntriesExist: Boolean)
var
    ReservEntry: Record "Reservation Entry";
begin
    if QtyBase = 0 then
        exit;

    with ReservEntry do begin
        InitReservEntry(ReservEntry, ItemLedgEntryBuf, QtyBase, PurchaseLine."Expected Receipt Date", EntriesExist);
        SetSource(DATABASE::"Purchase Line", PurchaseLine."Document Type".AsInteger(), PurchaseLine."Document No.", PurchaseLine."Line No.", '', 0);
        if PurchaseLine."Document Type" in [PurchaseLine."Document Type"::Order, PurchaseLine."Document Type"::"Return Order"] then
            "Reservation Status" := "Reservation Status"::Surplus
        else
            "Reservation Status" := "Reservation Status"::Prospect;
        if AppliedToItemEntry then
            "Appl.-to Item Entry" := ItemLedgEntryBuf."Entry No.";
        Description := PurchaseLine.Description;
        OnCopyItemLedgEntryTrkgToDocLine(ItemLedgEntryBuf, ReservEntry);
        UpdateItemTracking;
        OnBeforeInsertReservEntryForPurchLine(ReservEntry, PurchaseLine);
        Insert;
        OnAfterInsertReservationEntryForPurchaseLine(ReservEntry, PurchaseLine);
    end;
end;

Event Signature:
[IntegrationEvent(false, false)]
local procedure OnAfterInsertReservationEntryForPurchaseLine(var ReservationEntry: Record "Reservation Entry"; PurchaseLine: Record "Purchase Line")
begin
    //A200F0000.Event
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


text:
[Event Request] Table 7320 "Warehouse Shipment Header" - OnBeforeValidateShipmentDate

In order to support overriding the Confirm dialog when changing the Shipment Date on a Warehouse Shipment Header, it would be helpful to have an IsHandled-event publisher on the trigger.
Current code:
field(45; "Shipment Date"; Date)
{
    Caption = 'Shipment Date';

    trigger OnValidate()
    var
        WhseShptLine: Record "Warehouse Shipment Line";
    begin
        if "Shipment Date" <> xRec."Shipment Date" then begin
            WhseShptLine.SetRange("No.", "No.");
            if not WhseShptLine.IsEmpty() then
                if Confirm(
                     StrSubstNo(Text008, FieldCaption("Shipment Date")), false)
                then
                    WhseShptLine.ModifyAll("Shipment Date", "Shipment Date");
        end;
    end;
}

Proposed change:
field(45; "Shipment Date"; Date)
{
    Caption = 'Shipment Date';

    trigger OnValidate()
    var
        WhseShptLine: Record "Warehouse Shipment Line";
+       IsHandled: Boolean;
    begin
+       IsHandled := false;
+       OnBeforeValidateShipmentDate(Rec, xRec, IsHandled);
+       if IsHandled then
+           exit;

        if "Shipment Date" <> xRec."Shipment Date" then begin
            WhseShptLine.SetRange("No.", "No.");
            if not WhseShptLine.IsEmpty() then
                if Confirm(
                     StrSubstNo(Text008, FieldCaption("Shipment Date")), false)
                then
                    WhseShptLine.ModifyAll("Shipment Date", "Shipment Date");
        end;
    end;
}

And the proposed event publisher:
[IntegrationEvent(false, false)]
local procedure OnBeforeValidateShipmentDate(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; xWarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: JesperSchulz mtaanquist


text:
[Event Request] codeunit 90 "Purch.-Post".PostItemTrackingItemChargePerOrder - OnAfterCalcFactorOnPostItemTrackingItemChargePerOrder

Please add a new event OnAfterCalcFactorOnPostItemTrackingItemChargePerOrder:
local procedure PostItemTrackingItemChargePerOrder(...)
...
begin
    with TempTrackingSpecificationChargeAssmt do begin
        ...
        else begin
            ....
            repeat
                Factor := "Quantity (Base)" / OriginalQty * SignFactor;
                //*******************************************
                OnAfterCalcFactorOnPostItemTrackingItemChargePerOrder(NonDistrItemJnlLine, ItemJnlLine2, TempTrackingSpecificationChargeAssmt, SignFactor, Factor);
                //*******************************************
                if Abs("Quantity (Base)") < Abs(NonDistrItemJnlLine."Quantity (Base)") then begin
       .....
end;

[IntegrationEvent(false, false)]
local procedure OnAfterCalcFactorOnPostItemTrackingItemChargePerOrder(var NonDistrItemJnlLine: Record "Item Journal Line"; var ItemJnlLine2: Record "Item Journal Line"; var TempTrackingSpecificationChargeAssmt: Record "Tracking Specification"; SignFactor: Integer; Factor: Decimal)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

authors: JesperSchulz RadoArvay


text:
[Event Parameter change] codeunit 22 "Item Jnl.-Post Line" - OnPostConsumptionOnBeforeCalcRemainingQuantity

We would like to add parameter RemQtyToPost in event OnPostConsumptionOnBeforeCalcRemainingQuantity
                IsHandled := false;
                //OnPostConsumptionOnBeforeCalcRemainingQuantity(ProdOrderComp, ItemJnlLine, NewRemainingQty, QtyToPost, IsHandled); //A200F0000.Event.o
                OnPostConsumptionOnBeforeCalcRemainingQuantity(ProdOrderComp, ItemJnlLine, NewRemainingQty, QtyToPost, RemQtyToPost, IsHandled); //A200F0000.Event.n
                if not IsHandled then
                    "Remaining Quantity" := Round("Remaining Qty. (Base)" / "Qty. per Unit of Measure", UOMMgt.QtyRndPrecision);

Event Signature:
[IntegrationEvent(false, false)]
local procedure OnPostConsumptionOnBeforeCalcRemainingQuantity(var ProdOrderComp: Record "Prod. Order Component"; var ItemJnlLine: Record "Item Journal Line"; var NewRemainingQty: Decimal; var QtyToPost: Decimal; var RemQtyToPost: Decimal; var IsHandled: Boolean)
begin
    //A200F0000.Event Parameter RemQtyToPost
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


text:
[Event Request] Page 20 "General Ledger Entries"- GetCaption

Hello,
Can you please add an event as following into GetCaption procedure:
local procedure GetCaption(): Text[250]
var
        RetCaption: Text[250];
        IsHandled: Boolean;
begin
        //>>New Event
        IsHandled := false;
        OnBeforeGetCaption(Rec, GLAcc, RetCaption, IsHandled);
        if IsHandled then
            exit(RetCaption);
        //<<New Event

        if GLAcc."No." <> "G/L Account No." then
            if not GLAcc.Get("G/L Account No.") then
                if GetFilter("G/L Account No.") <> '' then
                    if GLAcc.Get(GetRangeMin("G/L Account No.")) then;
        exit(StrSubstNo('%1 %2', GLAcc."No.", GLAcc.Name))
end;

Event:
[IntegrationEvent(false, false)]
local procedure OnBeforeGetCaption(GLEntry: Record "G/L Entry"; GLAcc: Record "G/L Account"; var RetCaption: Text[250]; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 46009.

Hello @JesperSchulz ,
We didn't found yet in any versions of BC.
Could You tell when will arrive?
Thx for in advance.
BR,
Laszlo

This event should get added with 21.1, if the backport made it in time. If not, it will be 21.2.

authors: JesperSchulz ZsomborCsaszi jerryfic


text:
[Event Request] Codeunit 99000769 Production BOM-Check - procedure Code - OnCodeOnBeforeFindItems

Please add an Event OnCodeOnBeforeFindItems in procedure Code in Codeunit 99000769 Production BOM-Check
[Event Request] Codeunit 99000769 Production BOM-Check - procedure Code
var
    CalcLowLevel: Codeunit "Calculate Low-Level Code";
    IsHandled: Boolean; // <-- ADDED
begin
    ProdBOMHeader.TestField("Unit of Measure Code");
    MfgSetup.Get();
    if MfgSetup."Dynamic Low-Level Code" then begin
        CalcLowLevel.SetActualProdBOM(ProdBOMHeader);
        ProdBOMHeader."Low-Level Code" := CalcLowLevel.CalcLevels(2, ProdBOMHeader."No.", ProdBOMHeader."Low-Level Code", 1);
        CalcLowLevel.RecalcLowerLevels(ProdBOMHeader."No.", ProdBOMHeader."Low-Level Code", false);
        ProdBOMHeader.Modify();
    end else
        CheckBOM(ProdBOMHeader."No.", VersionCode);

    IsHandled := false; // <-- ADDED
    OnCodeOnBeforeFindItems(ProdBOMHeader, VersionCode, IsHandled); // <-- NEW EVENT
    if not IsHandled then begin // <-- ADDED

        Item.SetCurrentKey("Production BOM No.");
        Item.SetRange("Production BOM No.", ProdBOMHeader."No.");

        if Item.Find('-') then begin
            OpenDialogWindow();
            NoOfItems := Item.Count();
            ItemCounter := 0;
            repeat
                ItemCounter := ItemCounter + 1;

                UpdateDialogWindow();
                if MfgSetup."Dynamic Low-Level Code" then
                    CalcLowLevel.Run(Item);
                if Item."Routing No." <> '' then
                    CheckBOMStructure(ProdBOMHeader."No.", VersionCode, 1);
                ItemUnitOfMeasure.Get(Item."No.", ProdBOMHeader."Unit of Measure Code");
            until Item.Next() = 0;
        end;

    end; // <-- ADDED

    OnAfterCode(ProdBOMHeader, VersionCode);
end;

[IntegrationEvent(false, false)]
local procedure OnCodeOnBeforeFindItems(var ProdBOMHeader: Record "Production BOM Header"; VersionCode: Code[20]; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 49622.


text:
[Event Request] codeunit 80 "Sales-Post" OnAfterPostItemJnlLineBeforePost

Please add additional parameters to the event OnAfterPostItemJnlLineBeforePost
[IntegrationEvent(false, false)]
local procedure OnAfterPostItemJnlLineBeforePost(var ItemJournalLine: Record "Item Journal Line"; SalesLine: Record "Sales Line"; QtyToBeShippedBase: Decimal; var ItemJnlPostLine: Codeunit "Item Jnl.-Post Line"; var CheckApplFromItemEntry: Boolean; var TrackingSpecification: Record "Tracking Specification")
begin
end;

                SalesLine, ItemJnlLine, -QtyToBeShippedBase, TempTrackingSpecification, CheckApplFromItemEntry);

        if CheckApplFromItemEntry and SalesLine.IsInventoriableItem() then
            SalesLine.TestField("Appl.-from Item Entry");
    end;
end;

OnAfterPostItemJnlLineBeforePost(ItemJnlLine, SalesLine, QtyToBeShippedBase, ItemJnlPostLine, CheckApplFromItemEntry, TrackingSpecification);

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52435.

authors: JesperSchulz miljance


text:
Codeunit 99000845 Reservation Management - Event Request

Please could I request following publisher:-
[IntegrationEvent(false, false)]
local procedure OnProcessValueArray(var CalcReservEntry: Record "Reservation Entry"; var ReservSummEntry: Record "Entry Summary"; var TotalQuantity: Decimal; HandleItemTracking2: Boolean; AvailabilityDate: Date; var QtyOnOutBound: Decimal)
begin
end;

added to the UpdateStatistics function within the CASE statement in Reservation Management codeunit please:-
        case ValueArray[i] of
            "Reservation Summary Type"::"Item Ledger Entry".AsInteger():
                UpdateItemLedgEntryStats(CalcReservEntry, TempEntrySummary, TotalQuantity, HandleItemTracking2);
            "Reservation Summary Type"::"Item Tracking Line".AsInteger():
                UpdateItemTrackingLineStats(CalcReservEntry, TempEntrySummary, AvailabilityDate);

            ****OnProcessValueArray(CalcReservEntry, TempEntrySummary, TotalQuantity, HandleItemTracking2, AvailabilityDate,** QtyOnOutBound);**
        end;

        OnUpdateStatistics(CalcReservEntry, TempEntrySummary, AvailabilityDate, Positive, TotalQuantity);
    end;

    OnAfterUpdateStatistics(TempEntrySummary, AvailabilityDate, TotalQuantity);

    if not TempEntrySummary.Get(CurrentEntryNo) then
        if TempEntrySummary.IsEmpty() then
            Clear(TempEntrySummary);
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52463.

authors: JesperSchulz NavDeb


text:
Table 38 "Purchase Header" OnBeforeSendToPosting event modification

Describe the request
Hello, would it be possible to add additional parameter PostingCodeunitID to OnBeforeSendToPosting event, like this:
    procedure SendToPosting(PostingCodeunitID: Integer) IsSuccess: Boolean
    var
        ErrorContextElement: Codeunit "Error Context Element";
        ErrorMessageMgt: Codeunit "Error Message Management";
        ErrorMessageHandler: Codeunit "Error Message Handler";
        IsHandled: Boolean;
    begin
        IsHandled := false;
        OnBeforeSendToPosting(Rec, PostingCodeunitID, IsSuccess, IsHandled);
        if IsHandled then
            exit(IsSuccess);

        if not IsApprovedForPosting() then
            exit;

        Commit();
        ErrorMessageMgt.Activate(ErrorMessageHandler);
        ErrorMessageMgt.PushContext(ErrorContextElement, RecordId, 0, '');
        IsSuccess := CODEUNIT.Run(PostingCodeunitID, Rec);
        if not IsSuccess then
            ErrorMessageHandler.ShowErrors();
    end;

    [IntegrationEvent(false, false)]
    //Modified standard event, added PostingCodeunitID variable to parameters
    local procedure OnBeforeSendToPosting(var PurchaseHeader: Record "Purchase Header"; PostingCodeunitID: Integer; var IsSuccess: Boolean; var IsHandled: Boolean)
    begin
    end;

Additional context
We need to add posting modifications based on PostingCodeunitID.
Internal work item: AB#498842

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 16024.

authors: GMATest JesperSchulz


text:
Italien Base App - table 288 "Vendor Bank Account" - OnModify

Describe the request
Hi,
in the italian Version of the BC Base App, there is some Code in the OnModify() - Trigger of Table 288 "Vendor Bank Account".
The code is the following:
trigger OnModify()     var         Confirmed: Boolean;     begin         if IBAN = '' then begin             if not GuiAllowed then                 Confirmed := true             else                 Confirmed := Confirm(StrSubstNo('%1%2', Text12100, Text12101), false);             if not Confirmed then begin                 IBAN := xRec.IBAN;                 Modify();                 Commit();                 Error(Text12102);             end;         end;     end;
Could please add an Event? Something like the known "IsHandeled"-Pattern, so that we can deacivate this code?
Thank you!
Additional context
We would like to deactivate this Code, because this is very painful, if the user wants to modify a lot of records. He has to confirm very often.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 17295.


text:
[Bug]: [SHOPIFY] Decoupled restocking from refunding due to exchange items

Describe the issue
We received the following email from Shopify support. I scanned the repo, and even though I see refund synchronization is isolated from returns, I couldn't find any code that processes ReverseFulfillmentOrderLine. Will this be fixed when the API version switches to 2024-01 with v23.5, or do we need to take any actions to resolve this?
Our team has advised that last year (which was announced here - see https://shopify.dev/changelog/new-ways-to-manage-returns-with-the-graphql-admin-api), we shipped new public GraphQL APIs for returns that are more accurate with restock information via dispositions (https://shopify.dev/docs/api/admin-graphql/unstable/objects/ReverseFulfillmentOrderLineItem#field-reversefulfillmentorderlineitem-dispositions). We did this because It’s not great for restocking to be coupled to refunding. With the introduction of exchanges, this is even more important. We want for you to save the sale (ie. exchange the product for another one of equal or greater value, whenever possible). Therefore, not every return is refundable. However, we still need returns to be restockable. That’s where our public GraphQL APIs come in; 3Ps should use our returns APIs to query for restock information via dispositions.
In your case, the app seems to query for restocks on a RefundLineItem (https://shopify.dev/docs/api/admin-graphql/2024-01/objects/RefundLineItem#field-refundlineitem-restocked), while you are restocking a ReverseFulfillmentOrderLineItem (https://shopify.dev/docs/api/admin-graphql/2024-01/objects/ReverseFulfillmentOrderLineItem#field-reversefulfillmentorderlineitem-dispositions). Please note that there is no 1:1 relationship between RefundLineItem and ReverseFulfillmentOrderLineItem. We had to decouple restocking from refunding because in the case of a return with exchange items, the order balance may be net-payable. In other words: you will never refund that order. You will need to collect an invoice instead.
Therefore, you will never create RefundLineItems.
Therefore, you will use ReverseFulfillmentOrderLineItem.dispositions to restock the item.
We do not “retro-actively infer” restocked RefundLineItems because there may be none at all! That’s why last year as of the 2023-01 API version, we shipped new public GraphQL APIs for returns that are more accurate with restock information via dispositions. We have both reference docs and (https://shopify.dev/docs/apps/fulfillment/returns-apps/reverse-fulfillment-orders) to guide 3Ps through this transition. In particular, this 3P app can subscribe to the REVERSE_FULFILLMENT_ORDERS_DISPOSE (https://shopify.dev/docs/api/admin-graphql/2024-01/enums/WebhookSubscriptionTopic#value-reversefulfillmentordersdispose) webhook topic for incoming restocks for returned items.
For returns, you would want to create the return first: money movement does not happen at time of return creation. Then, you can refund the return (if it’s net-refundable and not net-payable). For reference, you can check out this help guide linked here: https://help.shopify.com/en/manual/orders/refunds-returns.
Expected behavior
For returns, you would want to create the return first: money movement does not happen at time of return creation. Then, you can refund the return (if it’s net-refundable and not net-payable). For reference, you can check out this help guide linked here: https://help.shopify.com/en/manual/orders/refunds-returns.
Steps to reproduce
Microsoft Shopify returns sync, out of box
Additional context
No response
I will provide a fix for a bug

[x] I will provide a fix for a bug

@AndreiPanko, please triage.

I think we need more details on what is proposed. Maybe end-to-end scenario?

Closing due to inactivity. @daniloziva, please reopen with E2E scenario, if you'd like this issue to get triaged.

authors: AndreiPanko JesperSchulz daniloziva


text:
Add Event Publisher in Transfer Line - OnAfterInitQtyToReceive()

Hi there,
we need a new Event Publisher OnAfterInitQtyToReceive() in Transfer Line:
            "Qty. to Receive (Base)" := "Qty. to Ship (Base)";
        end;
        OnAfterInitQtyToReceive(Rec, CurrFieldNo); // NEW
    end;

    [IntegrationEvent(true, false)]
    local procedure OnAfterInitQtyToReceive(var TransferLine: Record "Transfer Line"; CurrFieldNo: Integer)
    begin
    end;

Thanks,
Carsten

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

authors: MODUSCarstenScholling bc-ghost


text:
[Event Request] Codeunit 453 Job Queue - Enqueue

Can we get an event OnBeforeEnqueueJobQueueEntry in Codeunit 453 "Job Queue - Enqueue" to add our own logic before the job is enqueued?
local procedure EnqueueJobQueueEntry(var JobQueueEntry: Record "Job Queue Entry")
    var
        SavedStatus: Option;
    begin
        OnBeforeEnqueueJobQueueEntry(JobQueueEntry); //NEW
        with JobQueueEntry do begin
            SavedStatus := Status;
            InitEntryForSchedulerWithDelayInSec(JobQueueEntry, 1);
            if IsNullGuid(ID) then
                Insert(true)
            else begin
                if CanScheduleTask(JobQueueEntry) then
                    CancelTask; // clears "System Task ID"
                Modify;
            end;

...
[IntegrationEvent(false, false)]
local procedure OnBeforeEnqueueJobQueueEntry(var JobQueueEntry : Record "Job Queue Entry")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

authors: bc-ghost pri-kise


text:
[Shopify] Shopify return location on refunds tests

Shopify return location on refunds tests
Automated tests for PR https://github.com/microsoft/ALAppExtensions/pull/27539

Created by mistake

source: gharchive/pull-request


text:
In android  visibility false configuration textbox   , adaptive card not loading.

Platform
Android
code.txt
What platform is your issue or question related to? (Delete other platforms).

[ ] .NET

Author or host
Are you an author (like sending something to Outlook), or a host that is rendering your own cards? If host, please specify the corresponding host (app) name.
If you're an author, who are you sending cards to?
Version of SDK
What version are you using? Ex: NuGet 1.0.2, or latest main, etc...
Details
Explain your issue. If you just have a question, please post on StackOverflow instead.

@poonam0025 - would it be possible for us to see the card payload itself, after you've generated it?
We could also use some clarification here -- this is a bot written in C#, but you're seeing problems in Android Teams?

@poonam0025 - would it be possible for us to see the card payload itself, after you've generated it?
We could also use some clarification here -- this is a bot written in C#, but you're seeing problems in Android Teams?

json.txt
Reported issue in Note 5 pro, Note 7 pro,   Teamsversion : 1416/1.0.0.2021022202,calling version : 2021.02.01.29

Thanks @poonam0025 - I can repro the card not rendering in Android. @golddove, can you take a look? it literally renders blank:

I should probably note that the card renders and behaves correctly in the designer:

yes ,in desktop teams  app  also  showing properly causing issue in android.

@golddove - FYI that triage is approving this for 21.05

repo: microsoft/AdaptiveCards


text:
[Sample Cards]: Keyboard focus order is incorrect after activating Sample Cards button.

https://microsoft.visualstudio.com/OS/_workitems/edit/38002882

Bug is filed on Android visualizer, which is an internal dev tool. Closing.

authors: carlos-zamora jwoo-msft


text:
Enable Deterministic builds

NuGet Package Explorer is a tool that can be used to inspect the contents and quality of a NUPKG.
This shows that our builds are non-deterministic and this needs to be fixed.
Eddy has already started working on this. I'm opening this issue to track his work.

https://github.com/microsoft/ApplicationInsights-dotnet/blob/d2e6e7b0ed975485a483f2b67f9be7b02186f9e5/.props/_Nupkg.props#L51-L60

Right now, we have two files that are appearing as non-deterministic:
<file id="282" name="E:\A\_work\20\obj\Microsoft.ApplicationInsights\Release\src\Microsoft.ApplicationInsights\net45\.NETFramework,Version=v4.5.AssemblyAttributes.cs" language="C#" checksumAlgorithm="SHA256" checksum="xxxx">
<file id="283" name="E:\A\_work\20\obj\Microsoft.ApplicationInsights\Release\src\Microsoft.ApplicationInsights\net45\Microsoft.ApplicationInsights.AssemblyInfo.cs" language="C#" checksumAlgorithm="SHA256" checksum="xxxx">

we are generating two AssemblyInfo's: one from properties/AssemblyInfo.cs and one from the properties from .csproj / .props files. When we do that, we have a non-deterministic problem. To test I moved all content from the .csproj and .props to the AssemblyInfo.cs and added the tag GenerateAssemblyInfo as false. With that, just the AssemblyAttributes showed as error.

One way to validate is:

Open the Nuget Package Explorer
Open the .nupkg
Click in one framework
click in the .pdb
list to the end, you will probably see two paths that aren't following the raw.git pattern

This is done

authors: TimothyMothra eddynaka

repo: microsoft/ApplicationInsights-dotnet


text:
Need post deployment steps for Azure-Secure-Enclave-for-Research

Hii ,
we have deployed this setup by using this github link, the system is up/running  if anyone has the post deployment steps on how to connect and access azure virtual desktop
Kindly please send the link

Hi @NisargaShivanna, I am sorry for the really delayed response. I have been working on other research enclave templates.
I do not have more than what's currently in the Wiki. But accessing the desktop can be done using the web client or any of the thick clients as described here in the AVD documentation: https://learn.microsoft.com/en-us/azure/virtual-desktop/users/connect-windows?pivots=remote-desktop-msi

authors: NisargaShivanna SvenAelterman


text:
update a storage-explorer a manually bores'n'causes problems a for an example a latest thou storage-explorer ~ been required a to install .NET framework. Please, create packages'n'repositories a with an all dependencies ~ been  required thou for an atleast Ubuntu LTS versions

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

In the release notes of v1.10.0 and v1.10.1, there is a link to the Snap store where you can install v1.10.1 from a snap store which has all the dependencies included.

repo: microsoft/AzureStorageExplorer


text:
The storage account name shows 'null' when updating CORS rules for the services under one SAS attached account

Storage Explorer Version: 1.17.0
Build Number: 20210120.8
Branch: main
Platform/OS: Windows 10/ CentOS 7.6.1810 (Core)/ MacOS Catalina
Architecture: ia32/x64
Regression From:  Not a regression
Steps to Reproduce

Select one storage account -> Attach it via SAS -> Expand the attached account.
Right click the Blob Containers node -> Click 'Configure CORS Setting...' -> Click 'Save'.
Observer the activities -> Check whether the account name shows well in the activity log.

Expected Experience
The account name shows well.
Actual Experience
The account name shows 'null'

Additional Context

This issue also reproduces for File Shares /Queues /Tables node.
This issue also reproduces under one SAS attached ADLS Gen2 account.

Verified on build 20210313.6.
Show inconsistent account names in the updating CORS activity log between the Queues and the Blob, File Share, Table services.


text:
Azure Blob Storage unauthorized read error as Storage Blob Data Owner

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.20.1
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20210720.10
Platform
Linux
OS Version
Ubuntu 18.04
Bug Description
Possibly a dupe of : https://github.com/microsoft/AzureStorageExplorer/issues/4859
Storage type is ADLS Gen2.
user has this role attached: Storage Blob Data Owner
Error log:
Unable to retrieve child resources.
Details:
{
"name": "RestError",
"message": "This request is not authorized to perform this operation.\nRequestId:339526bd-801e-0070-21c2-a2d309000000\nTime:2021-09-06T01:54:09.1618366Z",
"stack": "RestError: This request is not authorized to perform this operation.\nRequestId:339526bd-801e-0070-21c2-a2d309000000\nTime:2021-09-06T01:54:09.1618366Z\n    at new RestError (/snap/storage-explorer/25/resources/app/node_modules/@azure/core-http/dist/index.js:2390:28)\n    at handleErrorResponse (/snap/storage-explorer/25/resources/app/node_modules/@azure/core-http/dist/index.js:3274:17)\n    at /snap/storage-explorer/25/resources/app/node_modules/@azure/core-http/dist/index.js:3210:18\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)",
"code": "AuthorizationFailure",
"statusCode": 403,
"request": {
"streamResponseStatusCodes": {},
"url": "https://testhussein.blob.core.windows.net/?include=metadata&comp=list",
"method": "GET",
"headers": {
"_headersMap": {
"x-ms-version": {
"name": "x-ms-version",
"value": "2020-04-08"
},
"user-agent": {
"name": "user-agent",
"value": "Microsoft Azure Storage Explorer, 1.20.1, linux azsdk-js-storageblob/12.4.1 (NODE-VERSION v12.16.3; Linux 5.4.0-81-generic)"
},
"x-ms-client-request-id": {
"name": "x-ms-client-request-id",
"value": "1b172b96-ed15-4b28-9577-8cd22fd08436"
},
"authorization": {
"name": "authorization",
"value": "Bearer Json Web Token Redacted"
},
"cookie": {
"name": "Cookie",
"value": ""
}
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"decompressResponse": false,
"requestId": "1b172b96-ed15-4b28-9577-8cd22fd08436",
"operationSpec": {
"httpMethod": "GET",
"urlParameters": [
{
"parameterPath": "url",
"mapper": {
"required": true,
"serializedName": "url",
"defaultValue": "",
"type": {
"name": "String"
}
},
"skipEncoding": true
}
],
"queryParameters": [
{
"parameterPath": [
"options",
"prefix"
],
"mapper": {
"serializedName": "prefix",
"type": {
"name": "String"
}
}
},
{
"parameterPath": [
"options",
"marker"
],
"mapper": {
"serializedName": "marker",
"type": {
"name": "String"
}
}
},
{
"parameterPath": [
"options",
"maxPageSize"
],
"mapper": {
"serializedName": "maxresults",
"constraints": {
"InclusiveMinimum": 1
},
"type": {
"name": "Number"
}
}
},
{
"parameterPath": [
"options",
"include"
],
"mapper": {
"serializedName": "include",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Enum",
"allowedValues": [
"metadata",
"deleted"
]
}
}
}
},
"collectionFormat": ","
},
{
"parameterPath": [
"options",
"timeoutInSeconds"
],
"mapper": {
"serializedName": "timeout",
"constraints": {
"InclusiveMinimum": 0
},
"type": {
"name": "Number"
}
}
},
{
"parameterPath": "comp",
"mapper": {
"required": true,
"isConstant": true,
"serializedName": "comp",
"defaultValue": "list",
"type": {
"name": "String"
}
}
}
],
"headerParameters": [
{
"parameterPath": "version",
"mapper": {
"required": true,
"isConstant": true,
"serializedName": "x-ms-version",
"defaultValue": "2020-04-08",
"type": {
"name": "String"
}
}
},
{
"parameterPath": [
"options",
"requestId"
],
"mapper": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
}
}
],
"responses": {
"200": {
"bodyMapper": {
"xmlName": "EnumerationResults",
"serializedName": "ListContainersSegmentResponse",
"type": {
"name": "Composite",
"className": "ListContainersSegmentResponse",
"modelProperties": {
"serviceEndpoint": {
"xmlIsAttribute": true,
"xmlName": "ServiceEndpoint",
"required": true,
"serializedName": "ServiceEndpoint",
"type": {
"name": "String"
}
},
"prefix": {
"xmlName": "Prefix",
"serializedName": "Prefix",
"type": {
"name": "String"
}
},
"marker": {
"xmlName": "Marker",
"serializedName": "Marker",
"type": {
"name": "String"
}
},
"maxPageSize": {
"xmlName": "MaxResults",
"serializedName": "MaxResults",
"type": {
"name": "Number"
}
},
"containerItems": {
"xmlIsWrapped": true,
"xmlName": "Containers",
"xmlElementName": "Container",
"required": true,
"serializedName": "ContainerItems",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "ContainerItem"
}
}
}
},
"continuationToken": {
"xmlName": "NextMarker",
"serializedName": "NextMarker",
"type": {
"name": "String"
}
}
}
}
},
"headersMapper": {
"serializedName": "service-listcontainerssegment-headers",
"type": {
"name": "Composite",
"className": "ServiceListContainersSegmentHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
}
},
"default": {
"bodyMapper": {
"serializedName": "StorageError",
"type": {
"name": "Composite",
"className": "StorageError",
"modelProperties": {
"message": {
"xmlName": "Message",
"serializedName": "Message",
"type": {
"name": "String"
}
},
"code": {
"xmlName": "Code",
"serializedName": "Code",
"type": {
"name": "String"
}
}
}
}
},
"headersMapper": {
"serializedName": "service-listcontainerssegment-headers",
"type": {
"name": "Composite",
"className": "ServiceListContainersSegmentHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
}
}
},
"isXML": true,
"serializer": {
"modelMappers": {
"BlobServiceProperties": {
"xmlName": "StorageServiceProperties",
"serializedName": "BlobServiceProperties",
"type": {
"name": "Composite",
"className": "BlobServiceProperties",
"modelProperties": {
"blobAnalyticsLogging": {
"xmlName": "Logging",
"serializedName": "Logging",
"type": {
"name": "Composite",
"className": "Logging"
}
},
"hourMetrics": {
"xmlName": "HourMetrics",
"serializedName": "HourMetrics",
"type": {
"name": "Composite",
"className": "Metrics"
}
},
"minuteMetrics": {
"xmlName": "MinuteMetrics",
"serializedName": "MinuteMetrics",
"type": {
"name": "Composite",
"className": "Metrics"
}
},
"cors": {
"xmlIsWrapped": true,
"xmlName": "Cors",
"xmlElementName": "CorsRule",
"serializedName": "Cors",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "CorsRule"
}
}
}
},
"defaultServiceVersion": {
"xmlName": "DefaultServiceVersion",
"serializedName": "DefaultServiceVersion",
"type": {
"name": "String"
}
},
"deleteRetentionPolicy": {
"xmlName": "DeleteRetentionPolicy",
"serializedName": "DeleteRetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy"
}
},
"staticWebsite": {
"xmlName": "StaticWebsite",
"serializedName": "StaticWebsite",
"type": {
"name": "Composite",
"className": "StaticWebsite"
}
}
}
}
},
"BlobServiceStatistics": {
"xmlName": "StorageServiceStats",
"serializedName": "BlobServiceStatistics",
"type": {
"name": "Composite",
"className": "BlobServiceStatistics",
"modelProperties": {
"geoReplication": {
"xmlName": "GeoReplication",
"serializedName": "GeoReplication",
"type": {
"name": "Composite",
"className": "GeoReplication"
}
}
}
}
},
"BlobTag": {
"xmlName": "Tag",
"serializedName": "BlobTag",
"type": {
"name": "Composite",
"className": "BlobTag",
"modelProperties": {
"key": {
"xmlName": "Key",
"required": true,
"serializedName": "Key",
"type": {
"name": "String"
}
},
"value": {
"xmlName": "Value",
"required": true,
"serializedName": "Value",
"type": {
"name": "String"
}
}
}
}
},
"BlobTags": {
"xmlName": "Tags",
"serializedName": "BlobTags",
"type": {
"name": "Composite",
"className": "BlobTags",
"modelProperties": {
"blobTagSet": {
"xmlIsWrapped": true,
"xmlName": "TagSet",
"xmlElementName": "Tag",
"required": true,
"serializedName": "BlobTagSet",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "BlobTag"
}
}
}
}
}
}
},
"ContainerItem": {
"xmlName": "Container",
"serializedName": "ContainerItem",
"type": {
"name": "Composite",
"className": "ContainerItem",
"modelProperties": {
"name": {
"xmlName": "Name",
"required": true,
"serializedName": "Name",
"type": {
"name": "String"
}
},
"deleted": {
"xmlName": "Deleted",
"serializedName": "Deleted",
"type": {
"name": "Boolean"
}
},
"version": {
"xmlName": "Version",
"serializedName": "Version",
"type": {
"name": "String"
}
},
"properties": {
"xmlName": "Properties",
"required": true,
"serializedName": "Properties",
"type": {
"name": "Composite",
"className": "ContainerProperties"
}
},
"metadata": {
"xmlName": "Metadata",
"serializedName": "Metadata",
"type": {
"name": "Dictionary",
"value": {
"type": {
"name": "String"
}
}
}
}
}
}
},
"ContainerProperties": {
"serializedName": "ContainerProperties",
"type": {
"name": "Composite",
"className": "ContainerProperties",
"modelProperties": {
"lastModified": {
"xmlName": "Last-Modified",
"required": true,
"serializedName": "Last-Modified",
"type": {
"name": "DateTimeRfc1123"
}
},
"etag": {
"xmlName": "Etag",
"required": true,
"serializedName": "Etag",
"type": {
"name": "String"
}
},
"leaseStatus": {
"xmlName": "LeaseStatus",
"serializedName": "LeaseStatus",
"type": {
"name": "Enum",
"allowedValues": [
"locked",
"unlocked"
]
}
},
"leaseState": {
"xmlName": "LeaseState",
"serializedName": "LeaseState",
"type": {
"name": "Enum",
"allowedValues": [
"available",
"leased",
"expired",
"breaking",
"broken"
]
}
},
"leaseDuration": {
"xmlName": "LeaseDuration",
"serializedName": "LeaseDuration",
"type": {
"name": "Enum",
"allowedValues": [
"infinite",
"fixed"
]
}
},
"publicAccess": {
"xmlName": "PublicAccess",
"serializedName": "PublicAccess",
"type": {
"name": "String"
}
},
"hasImmutabilityPolicy": {
"xmlName": "HasImmutabilityPolicy",
"serializedName": "HasImmutabilityPolicy",
"type": {
"name": "Boolean"
}
},
"hasLegalHold": {
"xmlName": "HasLegalHold",
"serializedName": "HasLegalHold",
"type": {
"name": "Boolean"
}
},
"defaultEncryptionScope": {
"xmlName": "DefaultEncryptionScope",
"serializedName": "DefaultEncryptionScope",
"type": {
"name": "String"
}
},
"preventEncryptionScopeOverride": {
"xmlName": "DenyEncryptionScopeOverride",
"serializedName": "DenyEncryptionScopeOverride",
"type": {
"name": "Boolean"
}
},
"deletedOn": {
"xmlName": "DeletedTime",
"serializedName": "DeletedTime",
"type": {
"name": "DateTimeRfc1123"
}
},
"remainingRetentionDays": {
"xmlName": "RemainingRetentionDays",
"serializedName": "RemainingRetentionDays",
"type": {
"name": "Number"
}
}
}
}
},
"CorsRule": {
"serializedName": "CorsRule",
"type": {
"name": "Composite",
"className": "CorsRule",
"modelProperties": {
"allowedOrigins": {
"xmlName": "AllowedOrigins",
"required": true,
"serializedName": "AllowedOrigins",
"type": {
"name": "String"
}
},
"allowedMethods": {
"xmlName": "AllowedMethods",
"required": true,
"serializedName": "AllowedMethods",
"type": {
"name": "String"
}
},
"allowedHeaders": {
"xmlName": "AllowedHeaders",
"required": true,
"serializedName": "AllowedHeaders",
"type": {
"name": "String"
}
},
"exposedHeaders": {
"xmlName": "ExposedHeaders",
"required": true,
"serializedName": "ExposedHeaders",
"type": {
"name": "String"
}
},
"maxAgeInSeconds": {
"xmlName": "MaxAgeInSeconds",
"required": true,
"serializedName": "MaxAgeInSeconds",
"constraints": {
"InclusiveMinimum": 0
},
"type": {
"name": "Number"
}
}
}
}
},
"FilterBlobItem": {
"xmlName": "Blob",
"serializedName": "FilterBlobItem",
"type": {
"name": "Composite",
"className": "FilterBlobItem",
"modelProperties": {
"name": {
"xmlName": "Name",
"required": true,
"serializedName": "Name",
"type": {
"name": "String"
}
},
"containerName": {
"xmlName": "ContainerName",
"required": true,
"serializedName": "ContainerName",
"type": {
"name": "String"
}
},
"tags": {
"xmlName": "Tags",
"serializedName": "Tags",
"type": {
"name": "Composite",
"className": "BlobTags"
}
}
}
}
},
"FilterBlobSegment": {
"xmlName": "EnumerationResults",
"serializedName": "FilterBlobSegment",
"type": {
"name": "Composite",
"className": "FilterBlobSegment",
"modelProperties": {
"serviceEndpoint": {
"xmlIsAttribute": true,
"xmlName": "ServiceEndpoint",
"required": true,
"serializedName": "ServiceEndpoint",
"type": {
"name": "String"
}
},
"where": {
"xmlName": "Where",
"required": true,
"serializedName": "Where",
"type": {
"name": "String"
}
},
"blobs": {
"xmlIsWrapped": true,
"xmlName": "Blobs",
"xmlElementName": "Blob",
"required": true,
"serializedName": "Blobs",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "FilterBlobItem"
}
}
}
},
"continuationToken": {
"xmlName": "NextMarker",
"serializedName": "NextMarker",
"type": {
"name": "String"
}
}
}
}
},
"GeoReplication": {
"serializedName": "GeoReplication",
"type": {
"name": "Composite",
"className": "GeoReplication",
"modelProperties": {
"status": {
"xmlName": "Status",
"required": true,
"serializedName": "Status",
"type": {
"name": "String"
}
},
"lastSyncOn": {
"xmlName": "LastSyncTime",
"required": true,
"serializedName": "LastSyncTime",
"type": {
"name": "DateTimeRfc1123"
}
}
}
}
},
"KeyInfo": {
"serializedName": "KeyInfo",
"type": {
"name": "Composite",
"className": "KeyInfo",
"modelProperties": {
"startsOn": {
"xmlName": "Start",
"required": true,
"serializedName": "Start",
"type": {
"name": "String"
}
},
"expiresOn": {
"xmlName": "Expiry",
"required": true,
"serializedName": "Expiry",
"type": {
"name": "String"
}
}
}
}
},
"ListContainersSegmentResponse": {
"xmlName": "EnumerationResults",
"serializedName": "ListContainersSegmentResponse",
"type": {
"name": "Composite",
"className": "ListContainersSegmentResponse",
"modelProperties": {
"serviceEndpoint": {
"xmlIsAttribute": true,
"xmlName": "ServiceEndpoint",
"required": true,
"serializedName": "ServiceEndpoint",
"type": {
"name": "String"
}
},
"prefix": {
"xmlName": "Prefix",
"serializedName": "Prefix",
"type": {
"name": "String"
}
},
"marker": {
"xmlName": "Marker",
"serializedName": "Marker",
"type": {
"name": "String"
}
},
"maxPageSize": {
"xmlName": "MaxResults",
"serializedName": "MaxResults",
"type": {
"name": "Number"
}
},
"containerItems": {
"xmlIsWrapped": true,
"xmlName": "Containers",
"xmlElementName": "Container",
"required": true,
"serializedName": "ContainerItems",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "ContainerItem"
}
}
}
},
"continuationToken": {
"xmlName": "NextMarker",
"serializedName": "NextMarker",
"type": {
"name": "String"
}
}
}
}
},
"Logging": {
"serializedName": "Logging",
"type": {
"name": "Composite",
"className": "Logging",
"modelProperties": {
"version": {
"xmlName": "Version",
"required": true,
"serializedName": "Version",
"type": {
"name": "String"
}
},
"deleteProperty": {
"xmlName": "Delete",
"required": true,
"serializedName": "Delete",
"type": {
"name": "Boolean"
}
},
"read": {
"xmlName": "Read",
"required": true,
"serializedName": "Read",
"type": {
"name": "Boolean"
}
},
"write": {
"xmlName": "Write",
"required": true,
"serializedName": "Write",
"type": {
"name": "Boolean"
}
},
"retentionPolicy": {
"xmlName": "RetentionPolicy",
"required": true,
"serializedName": "RetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy"
}
}
}
}
},
"Metrics": {
"serializedName": "Metrics",
"type": {
"name": "Composite",
"className": "Metrics",
"modelProperties": {
"version": {
"xmlName": "Version",
"serializedName": "Version",
"type": {
"name": "String"
}
},
"enabled": {
"xmlName": "Enabled",
"required": true,
"serializedName": "Enabled",
"type": {
"name": "Boolean"
}
},
"includeAPIs": {
"xmlName": "IncludeAPIs",
"serializedName": "IncludeAPIs",
"type": {
"name": "Boolean"
}
},
"retentionPolicy": {
"xmlName": "RetentionPolicy",
"serializedName": "RetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy"
}
}
}
}
},
"RetentionPolicy": {
"serializedName": "RetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy",
"modelProperties": {
"enabled": {
"xmlName": "Enabled",
"required": true,
"serializedName": "Enabled",
"type": {
"name": "Boolean"
}
},
"days": {
"xmlName": "Days",
"serializedName": "Days",
"constraints": {
"InclusiveMinimum": 1
},
"type": {
"name": "Number"
}
}
}
}
},
"ServiceFilterBlobsHeaders": {
"serializedName": "service-filterblobs-headers",
"type": {
"name": "Composite",
"className": "ServiceFilterBlobsHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetAccountInfoHeaders": {
"serializedName": "service-getaccountinfo-headers",
"type": {
"name": "Composite",
"className": "ServiceGetAccountInfoHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"skuName": {
"serializedName": "x-ms-sku-name",
"type": {
"name": "Enum",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS"
]
}
},
"accountKind": {
"serializedName": "x-ms-account-kind",
"type": {
"name": "Enum",
"allowedValues": [
"Storage",
"BlobStorage",
"StorageV2",
"FileStorage",
"BlockBlobStorage"
]
}
},
"isHierarchicalNamespaceEnabled": {
"serializedName": "x-ms-is-hns-enabled",
"type": {
"name": "Boolean"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetPropertiesHeaders": {
"serializedName": "service-getproperties-headers",
"type": {
"name": "Composite",
"className": "ServiceGetPropertiesHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetStatisticsHeaders": {
"serializedName": "service-getstatistics-headers",
"type": {
"name": "Composite",
"className": "ServiceGetStatisticsHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetUserDelegationKeyHeaders": {
"serializedName": "service-getuserdelegationkey-headers",
"type": {
"name": "Composite",
"className": "ServiceGetUserDelegationKeyHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceListContainersSegmentHeaders": {
"serializedName": "service-listcontainerssegment-headers",
"type": {
"name": "Composite",
"className": "ServiceListContainersSegmentHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceSetPropertiesHeaders": {
"serializedName": "service-setproperties-headers",
"type": {
"name": "Composite",
"className": "ServiceSetPropertiesHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceSubmitBatchHeaders": {
"serializedName": "service-submitbatch-headers",
"type": {
"name": "Composite",
"className": "ServiceSubmitBatchHeaders",
"modelProperties": {
"contentType": {
"serializedName": "content-type",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"StaticWebsite": {
"serializedName": "StaticWebsite",
"type": {
"name": "Composite",
"className": "StaticWebsite",
"modelProperties": {
"enabled": {
"xmlName": "Enabled",
"required": true,
"serializedName": "Enabled",
"type": {
"name": "Boolean"
}
},
"indexDocument": {
"xmlName": "IndexDocument",
"serializedName": "IndexDocument",
"type": {
"name": "String"
}
},
"errorDocument404Path": {
"xmlName": "ErrorDocument404Path",
"serializedName": "ErrorDocument404Path",
"type": {
"name": "String"
}
},
"defaultIndexDocumentPath": {
"xmlName": "DefaultIndexDocumentPath",
"serializedName": "DefaultIndexDocumentPath",
"type": {
"name": "String"
}
}
}
}
},
"StorageError": {
"serializedName": "StorageError",
"type": {
"name": "Composite",
"className": "StorageError",
"modelProperties": {
"message": {
"xmlName": "Message",
"serializedName": "Message",
"type": {
"name": "String"
}
},
"code": {
"xmlName": "Code",
"serializedName": "Code",
"type": {
"name": "String"
}
}
}
}
},
"UserDelegationKey": {
"serializedName": "UserDelegationKey",
"type": {
"name": "Composite",
"className": "UserDelegationKey",
"modelProperties": {
"signedObjectId": {
"xmlName": "SignedOid",
"required": true,
"serializedName": "SignedOid",
"type": {
"name": "String"
}
},
"signedTenantId": {
"xmlName": "SignedTid",
"required": true,
"serializedName": "SignedTid",
"type": {
"name": "String"
}
},
"signedStartsOn": {
"xmlName": "SignedStart",
"required": true,
"serializedName": "SignedStart",
"type": {
"name": "String"
}
},
"signedExpiresOn": {
"xmlName": "SignedExpiry",
"required": true,
"serializedName": "SignedExpiry",
"type": {
"name": "String"
}
},
"signedService": {
"xmlName": "SignedService",
"required": true,
"serializedName": "SignedService",
"type": {
"name": "String"
}
},
"signedVersion": {
"xmlName": "SignedVersion",
"required": true,
"serializedName": "SignedVersion",
"type": {
"name": "String"
}
},
"value": {
"xmlName": "Value",
"required": true,
"serializedName": "Value",
"type": {
"name": "String"
}
}
}
}
}
},
"isXML": true
}
}
},
"response": {
"headers": {
"_headersMap": {
"content-length": {
"name": "content-length",
"value": "246"
},
"content-type": {
"name": "content-type",
"value": "application/xml"
},
"date": {
"name": "date",
"value": "Mon, 06 Sep 2021 01:54:08 GMT"
},
"server": {
"name": "server",
"value": "Microsoft-HTTPAPI/2.0"
},
"x-ms-client-request-id": {
"name": "x-ms-client-request-id",
"value": "1b172b96-ed15-4b28-9577-8cd22fd08436"
},
"x-ms-error-code": {
"name": "x-ms-error-code",
"value": "AuthorizationFailure"
},
"x-ms-request-id": {
"name": "x-ms-request-id",
"value": "339526bd-801e-0070-21c2-a2d309000000"
}
}
},
"request": {
"streamResponseStatusCodes": {},
"url": "https://testhussein.blob.core.windows.net/?include=metadata&comp=list",
"method": "GET",
"headers": {
"_headersMap": {
"x-ms-version": {
"name": "x-ms-version",
"value": "2020-04-08"
},
"user-agent": {
"name": "user-agent",
"value": "Microsoft Azure Storage Explorer, 1.20.1, linux azsdk-js-storageblob/12.4.1 (NODE-VERSION v12.16.3; Linux 5.4.0-81-generic)"
},
"x-ms-client-request-id": {
"name": "x-ms-client-request-id",
"value": "1b172b96-ed15-4b28-9577-8cd22fd08436"
},
"authorization": {
"name": "authorization",
"value": "Bearer Json Web Token Redacted"
},
"cookie": {
"name": "Cookie",
"value": ""
}
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"decompressResponse": false,
"requestId": "1b172b96-ed15-4b28-9577-8cd22fd08436",
"operationSpec": {
"httpMethod": "GET",
"urlParameters": [
{
"parameterPath": "url",
"mapper": {
"required": true,
"serializedName": "url",
"defaultValue": "",
"type": {
"name": "String"
}
},
"skipEncoding": true
}
],
"queryParameters": [
{
"parameterPath": [
"options",
"prefix"
],
"mapper": {
"serializedName": "prefix",
"type": {
"name": "String"
}
}
},
{
"parameterPath": [
"options",
"marker"
],
"mapper": {
"serializedName": "marker",
"type": {
"name": "String"
}
}
},
{
"parameterPath": [
"options",
"maxPageSize"
],
"mapper": {
"serializedName": "maxresults",
"constraints": {
"InclusiveMinimum": 1
},
"type": {
"name": "Number"
}
}
},
{
"parameterPath": [
"options",
"include"
],
"mapper": {
"serializedName": "include",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Enum",
"allowedValues": [
"metadata",
"deleted"
]
}
}
}
},
"collectionFormat": ","
},
{
"parameterPath": [
"options",
"timeoutInSeconds"
],
"mapper": {
"serializedName": "timeout",
"constraints": {
"InclusiveMinimum": 0
},
"type": {
"name": "Number"
}
}
},
{
"parameterPath": "comp",
"mapper": {
"required": true,
"isConstant": true,
"serializedName": "comp",
"defaultValue": "list",
"type": {
"name": "String"
}
}
}
],
"headerParameters": [
{
"parameterPath": "version",
"mapper": {
"required": true,
"isConstant": true,
"serializedName": "x-ms-version",
"defaultValue": "2020-04-08",
"type": {
"name": "String"
}
}
},
{
"parameterPath": [
"options",
"requestId"
],
"mapper": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
}
}
],
"responses": {
"200": {
"bodyMapper": {
"xmlName": "EnumerationResults",
"serializedName": "ListContainersSegmentResponse",
"type": {
"name": "Composite",
"className": "ListContainersSegmentResponse",
"modelProperties": {
"serviceEndpoint": {
"xmlIsAttribute": true,
"xmlName": "ServiceEndpoint",
"required": true,
"serializedName": "ServiceEndpoint",
"type": {
"name": "String"
}
},
"prefix": {
"xmlName": "Prefix",
"serializedName": "Prefix",
"type": {
"name": "String"
}
},
"marker": {
"xmlName": "Marker",
"serializedName": "Marker",
"type": {
"name": "String"
}
},
"maxPageSize": {
"xmlName": "MaxResults",
"serializedName": "MaxResults",
"type": {
"name": "Number"
}
},
"containerItems": {
"xmlIsWrapped": true,
"xmlName": "Containers",
"xmlElementName": "Container",
"required": true,
"serializedName": "ContainerItems",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "ContainerItem"
}
}
}
},
"continuationToken": {
"xmlName": "NextMarker",
"serializedName": "NextMarker",
"type": {
"name": "String"
}
}
}
}
},
"headersMapper": {
"serializedName": "service-listcontainerssegment-headers",
"type": {
"name": "Composite",
"className": "ServiceListContainersSegmentHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
}
},
"default": {
"bodyMapper": {
"serializedName": "StorageError",
"type": {
"name": "Composite",
"className": "StorageError",
"modelProperties": {
"message": {
"xmlName": "Message",
"serializedName": "Message",
"type": {
"name": "String"
}
},
"code": {
"xmlName": "Code",
"serializedName": "Code",
"type": {
"name": "String"
}
}
}
}
},
"headersMapper": {
"serializedName": "service-listcontainerssegment-headers",
"type": {
"name": "Composite",
"className": "ServiceListContainersSegmentHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
}
}
},
"isXML": true,
"serializer": {
"modelMappers": {
"BlobServiceProperties": {
"xmlName": "StorageServiceProperties",
"serializedName": "BlobServiceProperties",
"type": {
"name": "Composite",
"className": "BlobServiceProperties",
"modelProperties": {
"blobAnalyticsLogging": {
"xmlName": "Logging",
"serializedName": "Logging",
"type": {
"name": "Composite",
"className": "Logging"
}
},
"hourMetrics": {
"xmlName": "HourMetrics",
"serializedName": "HourMetrics",
"type": {
"name": "Composite",
"className": "Metrics"
}
},
"minuteMetrics": {
"xmlName": "MinuteMetrics",
"serializedName": "MinuteMetrics",
"type": {
"name": "Composite",
"className": "Metrics"
}
},
"cors": {
"xmlIsWrapped": true,
"xmlName": "Cors",
"xmlElementName": "CorsRule",
"serializedName": "Cors",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "CorsRule"
}
}
}
},
"defaultServiceVersion": {
"xmlName": "DefaultServiceVersion",
"serializedName": "DefaultServiceVersion",
"type": {
"name": "String"
}
},
"deleteRetentionPolicy": {
"xmlName": "DeleteRetentionPolicy",
"serializedName": "DeleteRetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy"
}
},
"staticWebsite": {
"xmlName": "StaticWebsite",
"serializedName": "StaticWebsite",
"type": {
"name": "Composite",
"className": "StaticWebsite"
}
}
}
}
},
"BlobServiceStatistics": {
"xmlName": "StorageServiceStats",
"serializedName": "BlobServiceStatistics",
"type": {
"name": "Composite",
"className": "BlobServiceStatistics",
"modelProperties": {
"geoReplication": {
"xmlName": "GeoReplication",
"serializedName": "GeoReplication",
"type": {
"name": "Composite",
"className": "GeoReplication"
}
}
}
}
},
"BlobTag": {
"xmlName": "Tag",
"serializedName": "BlobTag",
"type": {
"name": "Composite",
"className": "BlobTag",
"modelProperties": {
"key": {
"xmlName": "Key",
"required": true,
"serializedName": "Key",
"type": {
"name": "String"
}
},
"value": {
"xmlName": "Value",
"required": true,
"serializedName": "Value",
"type": {
"name": "String"
}
}
}
}
},
"BlobTags": {
"xmlName": "Tags",
"serializedName": "BlobTags",
"type": {
"name": "Composite",
"className": "BlobTags",
"modelProperties": {
"blobTagSet": {
"xmlIsWrapped": true,
"xmlName": "TagSet",
"xmlElementName": "Tag",
"required": true,
"serializedName": "BlobTagSet",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "BlobTag"
}
}
}
}
}
}
},
"ContainerItem": {
"xmlName": "Container",
"serializedName": "ContainerItem",
"type": {
"name": "Composite",
"className": "ContainerItem",
"modelProperties": {
"name": {
"xmlName": "Name",
"required": true,
"serializedName": "Name",
"type": {
"name": "String"
}
},
"deleted": {
"xmlName": "Deleted",
"serializedName": "Deleted",
"type": {
"name": "Boolean"
}
},
"version": {
"xmlName": "Version",
"serializedName": "Version",
"type": {
"name": "String"
}
},
"properties": {
"xmlName": "Properties",
"required": true,
"serializedName": "Properties",
"type": {
"name": "Composite",
"className": "ContainerProperties"
}
},
"metadata": {
"xmlName": "Metadata",
"serializedName": "Metadata",
"type": {
"name": "Dictionary",
"value": {
"type": {
"name": "String"
}
}
}
}
}
}
},
"ContainerProperties": {
"serializedName": "ContainerProperties",
"type": {
"name": "Composite",
"className": "ContainerProperties",
"modelProperties": {
"lastModified": {
"xmlName": "Last-Modified",
"required": true,
"serializedName": "Last-Modified",
"type": {
"name": "DateTimeRfc1123"
}
},
"etag": {
"xmlName": "Etag",
"required": true,
"serializedName": "Etag",
"type": {
"name": "String"
}
},
"leaseStatus": {
"xmlName": "LeaseStatus",
"serializedName": "LeaseStatus",
"type": {
"name": "Enum",
"allowedValues": [
"locked",
"unlocked"
]
}
},
"leaseState": {
"xmlName": "LeaseState",
"serializedName": "LeaseState",
"type": {
"name": "Enum",
"allowedValues": [
"available",
"leased",
"expired",
"breaking",
"broken"
]
}
},
"leaseDuration": {
"xmlName": "LeaseDuration",
"serializedName": "LeaseDuration",
"type": {
"name": "Enum",
"allowedValues": [
"infinite",
"fixed"
]
}
},
"publicAccess": {
"xmlName": "PublicAccess",
"serializedName": "PublicAccess",
"type": {
"name": "String"
}
},
"hasImmutabilityPolicy": {
"xmlName": "HasImmutabilityPolicy",
"serializedName": "HasImmutabilityPolicy",
"type": {
"name": "Boolean"
}
},
"hasLegalHold": {
"xmlName": "HasLegalHold",
"serializedName": "HasLegalHold",
"type": {
"name": "Boolean"
}
},
"defaultEncryptionScope": {
"xmlName": "DefaultEncryptionScope",
"serializedName": "DefaultEncryptionScope",
"type": {
"name": "String"
}
},
"preventEncryptionScopeOverride": {
"xmlName": "DenyEncryptionScopeOverride",
"serializedName": "DenyEncryptionScopeOverride",
"type": {
"name": "Boolean"
}
},
"deletedOn": {
"xmlName": "DeletedTime",
"serializedName": "DeletedTime",
"type": {
"name": "DateTimeRfc1123"
}
},
"remainingRetentionDays": {
"xmlName": "RemainingRetentionDays",
"serializedName": "RemainingRetentionDays",
"type": {
"name": "Number"
}
}
}
}
},
"CorsRule": {
"serializedName": "CorsRule",
"type": {
"name": "Composite",
"className": "CorsRule",
"modelProperties": {
"allowedOrigins": {
"xmlName": "AllowedOrigins",
"required": true,
"serializedName": "AllowedOrigins",
"type": {
"name": "String"
}
},
"allowedMethods": {
"xmlName": "AllowedMethods",
"required": true,
"serializedName": "AllowedMethods",
"type": {
"name": "String"
}
},
"allowedHeaders": {
"xmlName": "AllowedHeaders",
"required": true,
"serializedName": "AllowedHeaders",
"type": {
"name": "String"
}
},
"exposedHeaders": {
"xmlName": "ExposedHeaders",
"required": true,
"serializedName": "ExposedHeaders",
"type": {
"name": "String"
}
},
"maxAgeInSeconds": {
"xmlName": "MaxAgeInSeconds",
"required": true,
"serializedName": "MaxAgeInSeconds",
"constraints": {
"InclusiveMinimum": 0
},
"type": {
"name": "Number"
}
}
}
}
},
"FilterBlobItem": {
"xmlName": "Blob",
"serializedName": "FilterBlobItem",
"type": {
"name": "Composite",
"className": "FilterBlobItem",
"modelProperties": {
"name": {
"xmlName": "Name",
"required": true,
"serializedName": "Name",
"type": {
"name": "String"
}
},
"containerName": {
"xmlName": "ContainerName",
"required": true,
"serializedName": "ContainerName",
"type": {
"name": "String"
}
},
"tags": {
"xmlName": "Tags",
"serializedName": "Tags",
"type": {
"name": "Composite",
"className": "BlobTags"
}
}
}
}
},
"FilterBlobSegment": {
"xmlName": "EnumerationResults",
"serializedName": "FilterBlobSegment",
"type": {
"name": "Composite",
"className": "FilterBlobSegment",
"modelProperties": {
"serviceEndpoint": {
"xmlIsAttribute": true,
"xmlName": "ServiceEndpoint",
"required": true,
"serializedName": "ServiceEndpoint",
"type": {
"name": "String"
}
},
"where": {
"xmlName": "Where",
"required": true,
"serializedName": "Where",
"type": {
"name": "String"
}
},
"blobs": {
"xmlIsWrapped": true,
"xmlName": "Blobs",
"xmlElementName": "Blob",
"required": true,
"serializedName": "Blobs",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "FilterBlobItem"
}
}
}
},
"continuationToken": {
"xmlName": "NextMarker",
"serializedName": "NextMarker",
"type": {
"name": "String"
}
}
}
}
},
"GeoReplication": {
"serializedName": "GeoReplication",
"type": {
"name": "Composite",
"className": "GeoReplication",
"modelProperties": {
"status": {
"xmlName": "Status",
"required": true,
"serializedName": "Status",
"type": {
"name": "String"
}
},
"lastSyncOn": {
"xmlName": "LastSyncTime",
"required": true,
"serializedName": "LastSyncTime",
"type": {
"name": "DateTimeRfc1123"
}
}
}
}
},
"KeyInfo": {
"serializedName": "KeyInfo",
"type": {
"name": "Composite",
"className": "KeyInfo",
"modelProperties": {
"startsOn": {
"xmlName": "Start",
"required": true,
"serializedName": "Start",
"type": {
"name": "String"
}
},
"expiresOn": {
"xmlName": "Expiry",
"required": true,
"serializedName": "Expiry",
"type": {
"name": "String"
}
}
}
}
},
"ListContainersSegmentResponse": {
"xmlName": "EnumerationResults",
"serializedName": "ListContainersSegmentResponse",
"type": {
"name": "Composite",
"className": "ListContainersSegmentResponse",
"modelProperties": {
"serviceEndpoint": {
"xmlIsAttribute": true,
"xmlName": "ServiceEndpoint",
"required": true,
"serializedName": "ServiceEndpoint",
"type": {
"name": "String"
}
},
"prefix": {
"xmlName": "Prefix",
"serializedName": "Prefix",
"type": {
"name": "String"
}
},
"marker": {
"xmlName": "Marker",
"serializedName": "Marker",
"type": {
"name": "String"
}
},
"maxPageSize": {
"xmlName": "MaxResults",
"serializedName": "MaxResults",
"type": {
"name": "Number"
}
},
"containerItems": {
"xmlIsWrapped": true,
"xmlName": "Containers",
"xmlElementName": "Container",
"required": true,
"serializedName": "ContainerItems",
"type": {
"name": "Sequence",
"element": {
"type": {
"name": "Composite",
"className": "ContainerItem"
}
}
}
},
"continuationToken": {
"xmlName": "NextMarker",
"serializedName": "NextMarker",
"type": {
"name": "String"
}
}
}
}
},
"Logging": {
"serializedName": "Logging",
"type": {
"name": "Composite",
"className": "Logging",
"modelProperties": {
"version": {
"xmlName": "Version",
"required": true,
"serializedName": "Version",
"type": {
"name": "String"
}
},
"deleteProperty": {
"xmlName": "Delete",
"required": true,
"serializedName": "Delete",
"type": {
"name": "Boolean"
}
},
"read": {
"xmlName": "Read",
"required": true,
"serializedName": "Read",
"type": {
"name": "Boolean"
}
},
"write": {
"xmlName": "Write",
"required": true,
"serializedName": "Write",
"type": {
"name": "Boolean"
}
},
"retentionPolicy": {
"xmlName": "RetentionPolicy",
"required": true,
"serializedName": "RetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy"
}
}
}
}
},
"Metrics": {
"serializedName": "Metrics",
"type": {
"name": "Composite",
"className": "Metrics",
"modelProperties": {
"version": {
"xmlName": "Version",
"serializedName": "Version",
"type": {
"name": "String"
}
},
"enabled": {
"xmlName": "Enabled",
"required": true,
"serializedName": "Enabled",
"type": {
"name": "Boolean"
}
},
"includeAPIs": {
"xmlName": "IncludeAPIs",
"serializedName": "IncludeAPIs",
"type": {
"name": "Boolean"
}
},
"retentionPolicy": {
"xmlName": "RetentionPolicy",
"serializedName": "RetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy"
}
}
}
}
},
"RetentionPolicy": {
"serializedName": "RetentionPolicy",
"type": {
"name": "Composite",
"className": "RetentionPolicy",
"modelProperties": {
"enabled": {
"xmlName": "Enabled",
"required": true,
"serializedName": "Enabled",
"type": {
"name": "Boolean"
}
},
"days": {
"xmlName": "Days",
"serializedName": "Days",
"constraints": {
"InclusiveMinimum": 1
},
"type": {
"name": "Number"
}
}
}
}
},
"ServiceFilterBlobsHeaders": {
"serializedName": "service-filterblobs-headers",
"type": {
"name": "Composite",
"className": "ServiceFilterBlobsHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetAccountInfoHeaders": {
"serializedName": "service-getaccountinfo-headers",
"type": {
"name": "Composite",
"className": "ServiceGetAccountInfoHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"skuName": {
"serializedName": "x-ms-sku-name",
"type": {
"name": "Enum",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS"
]
}
},
"accountKind": {
"serializedName": "x-ms-account-kind",
"type": {
"name": "Enum",
"allowedValues": [
"Storage",
"BlobStorage",
"StorageV2",
"FileStorage",
"BlockBlobStorage"
]
}
},
"isHierarchicalNamespaceEnabled": {
"serializedName": "x-ms-is-hns-enabled",
"type": {
"name": "Boolean"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetPropertiesHeaders": {
"serializedName": "service-getproperties-headers",
"type": {
"name": "Composite",
"className": "ServiceGetPropertiesHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetStatisticsHeaders": {
"serializedName": "service-getstatistics-headers",
"type": {
"name": "Composite",
"className": "ServiceGetStatisticsHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceGetUserDelegationKeyHeaders": {
"serializedName": "service-getuserdelegationkey-headers",
"type": {
"name": "Composite",
"className": "ServiceGetUserDelegationKeyHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"date": {
"serializedName": "date",
"type": {
"name": "DateTimeRfc1123"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceListContainersSegmentHeaders": {
"serializedName": "service-listcontainerssegment-headers",
"type": {
"name": "Composite",
"className": "ServiceListContainersSegmentHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceSetPropertiesHeaders": {
"serializedName": "service-setproperties-headers",
"type": {
"name": "Composite",
"className": "ServiceSetPropertiesHeaders",
"modelProperties": {
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"ServiceSubmitBatchHeaders": {
"serializedName": "service-submitbatch-headers",
"type": {
"name": "Composite",
"className": "ServiceSubmitBatchHeaders",
"modelProperties": {
"contentType": {
"serializedName": "content-type",
"type": {
"name": "String"
}
},
"requestId": {
"serializedName": "x-ms-request-id",
"type": {
"name": "String"
}
},
"version": {
"serializedName": "x-ms-version",
"type": {
"name": "String"
}
},
"clientRequestId": {
"serializedName": "x-ms-client-request-id",
"type": {
"name": "String"
}
},
"errorCode": {
"serializedName": "x-ms-error-code",
"type": {
"name": "String"
}
}
}
}
},
"StaticWebsite": {
"serializedName": "StaticWebsite",
"type": {
"name": "Composite",
"className": "StaticWebsite",
"modelProperties": {
"enabled": {
"xmlName": "Enabled",
"required": true,
"serializedName": "Enabled",
"type": {
"name": "Boolean"
}
},
"indexDocument": {
"xmlName": "IndexDocument",
"serializedName": "IndexDocument",
"type": {
"name": "String"
}
},
"errorDocument404Path": {
"xmlName": "ErrorDocument404Path",
"serializedName": "ErrorDocument404Path",
"type": {
"name": "String"
}
},
"defaultIndexDocumentPath": {
"xmlName": "DefaultIndexDocumentPath",
"serializedName": "DefaultIndexDocumentPath",
"type": {
"name": "String"
}
}
}
}
},
"StorageError": {
"serializedName": "StorageError",
"type": {
"name": "Composite",
"className": "StorageError",
"modelProperties": {
"message": {
"xmlName": "Message",
"serializedName": "Message",
"type": {
"name": "String"
}
},
"code": {
"xmlName": "Code",
"serializedName": "Code",
"type": {
"name": "String"
}
}
}
}
},
"UserDelegationKey": {
"serializedName": "UserDelegationKey",
"type": {
"name": "Composite",
"className": "UserDelegationKey",
"modelProperties": {
"signedObjectId": {
"xmlName": "SignedOid",
"required": true,
"serializedName": "SignedOid",
"type": {
"name": "String"
}
},
"signedTenantId": {
"xmlName": "SignedTid",
"required": true,
"serializedName": "SignedTid",
"type": {
"name": "String"
}
},
"signedStartsOn": {
"xmlName": "SignedStart",
"required": true,
"serializedName": "SignedStart",
"type": {
"name": "String"
}
},
"signedExpiresOn": {
"xmlName": "SignedExpiry",
"required": true,
"serializedName": "SignedExpiry",
"type": {
"name": "String"
}
},
"signedService": {
"xmlName": "SignedService",
"required": true,
"serializedName": "SignedService",
"type": {
"name": "String"
}
},
"signedVersion": {
"xmlName": "SignedVersion",
"required": true,
"serializedName": "SignedVersion",
"type": {
"name": "String"
}
},
"value": {
"xmlName": "Value",
"required": true,
"serializedName": "Value",
"type": {
"name": "String"
}
}
}
}
}
},
"isXML": true
}
}
},
"status": 403,
"bodyAsText": "AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:339526bd-801e-0070-21c2-a2d309000000\nTime:2021-09-06T01:54:09.1618366Z",
"parsedBody": {
"message": "This request is not authorized to perform this operation.\nRequestId:339526bd-801e-0070-21c2-a2d309000000\nTime:2021-09-06T01:54:09.1618366Z",
"code": "AuthorizationFailure"
},
"parsedHeaders": {
"clientRequestId": "1b172b96-ed15-4b28-9577-8cd22fd08436",
"requestId": "339526bd-801e-0070-21c2-a2d309000000",
"errorCode": "AuthorizationFailure",
"content-length": "246",
"content-type": "application/xml",
"date": "Mon, 06 Sep 2021 01:54:08 GMT",
"server": "Microsoft-HTTPAPI/2.0"
}
},
"details": {
"clientRequestId": "1b172b96-ed15-4b28-9577-8cd22fd08436",
"requestId": "339526bd-801e-0070-21c2-a2d309000000",
"errorCode": "AuthorizationFailure",
"content-length": "246",
"content-type": "application/xml",
"date": "Mon, 06 Sep 2021 01:54:08 GMT",
"server": "Microsoft-HTTPAPI/2.0",
"message": "This request is not authorized to perform this operation.\nRequestId:339526bd-801e-0070-21c2-a2d309000000\nTime:2021-09-06T01:54:09.1618366Z",
"code": "AuthorizationFailure"
}
}
Steps to Reproduce

Launch Storage Explorer
Pick a Storage Account drop down
Expand Blob Containers

Actual Experience
An error dialog pops up with the error in description
Expected Experience
No response
Additional Context
No response

@yapith-suplari can you go to the portal, and then go to Access Control blade for the storage account and make sure the user has the correct role assignment:

If you can, please share a screenshot of what you see when you check access. It will be helpful in determining what is wrong.

Requested "View my access" screenshot attached.

@yapith-suplari do you know if your Storage Blob Data Owner role has any conditions on it? What is there if you scroll more to the right in that list box? Or what if you click on "Add"?

Maybe nevermind, we just tried out the conditions preview. It should say "View/Edit" instead of "Add" if you did have a condition.

@yapith-suplari I am able to list blob containers using exactly the same set of rbac roles with my account. There are a few things I am not sure.
I assume your screenshot is showing your rbac roles on the storage account. The Storage Account Contributor role by default grants you the permission to list keys for your storage account. In our code, we will fallback to use key to list resources instead of immediately fail with the Azure AD credential. Let's check if you are getting the keys of the storage account in the properties panel of the storage account.

Hi @JasonYeMSFT ,
I can access the Access Keys through Azure Portal and az storage account keys list --account-name <myaccount>.
I also found the StorageExplorer works fine for other StorageAccount types that are not ADLS Gen2, if that's any use.

@yapith-suplari Could you check if you have any IP address related firewall setting on that storage account?

It looks like the issue is PEBKAC. I had my network config isn't set properly. Apologies for the trouble.


text:
Copy folders with Storage Account setting "allowSharedKeyAccess": false

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Problem
Copying Folders based on AAD authentication not possible in the storage explorer
Desired Solution
I would really appreciate if copying blobs/folders would be possible without relying on Keys
Alternatives and Workarounds
Alternatively we are currently downloading and uploading folders, but this is not a good option for large files
Additional Context
No response

@RocketRob97 is this for:

non-ADLS Gen2 containers
ADLS Gen2 containers
file shares
?

@MRayermannMSFT Thank you for your reply, it's a ADLS Gen2 container.

@MRayermannMSFT FYI: RocketRob97 is my S500 Enterprise customer. He has disabled the storage account key to the ADLS Gen2 storage account to tighten security. But this breaks Storage Explorer when trying to rely on AAD authentication only!
Is this scenario part of the test metrics?

@ralphke , I'm guessing from @RocketRob97 's other issue that Gen2 ACLs are being used to help secure the data in the Storage Account. Unfortunately there are no APIs available that would allow us to do this.
For RBAC based permissions (which only have granularity as low as the container level), it is possible to copy blobs without key access. Basically a user needs to have RBAC roles:

that let them read the copy source data
that let them write at the copy destination
that let them generate a user delete SAS for the source data

That 3rd par is the key. When we do a copy, we give the server a SAS token for the source data. So the user needs to be able to generate one. For the longest time you could only generate a SAS with an account key, but recently the concept of a user delegate SAS was added. Right now that only supports RBAC based permissions. So for this scenario, y'all would have to give users RBAC roles that defeat the purpose of the ACLs.
Let us know if you know of any alternative techniques we could use to make this scenario a reality though!

@MRayermannMSFT You are refereeing to this  documentation. So enabling user signed SAS tokens is the way to proceed.
On the other hand the restrictions on RBAC is significant. Is there a way to support also ACLs below the container level?
Thanks for your feedback.

You are refereeing to this documentation.

Yes.

Is there a way to support also ACLs below the container level?

For service to service copies? No, not that I know of. :( Best you can do right now is download the data locally and then reupload. :(

The support to copy data with Azure AD only credentials have been added in our 1.25.0 release.

authors: JasonYeMSFT MRayermannMSFT RocketRob97 ralphke


text:
Fix clean validation envs workflow to use github context

What is being addressed
Fixes #2965 Add documentation on clean validation workflow.

/test

/test

/test-destroy-env

/test

/test-destroy-env

/test

/test-destroy-env

/test

/test

/test-force-approve

authors: LizaShak tamirkamara

repo: microsoft/AzureTRE


text:
Change the way "inherited" workspaces retrieve the base workspace code

Resolves #4162
What is being addressed
Change the way inherited workspaces retrieve the base workspace code - see solution description in #4162
Notes

Currently requires the 'canary' release of porter.  Ideally this should be a pinned version, however we are waiting for a new version release which includes the --build-context parameter.

so do you need to have built base first? Will it use the latest version of base?

/test f6255a693836fe6fa603910d4baac9fffbfd0e19

@jonnyry https://github.com/microsoft/AzureTRE/actions/runs/12306981977/job/34350005999#step:3:1

@jonnyry https://github.com/microsoft/AzureTRE/actions/runs/12306981977/job/34350005999#step:3:1

Ah let me take a look.

/test 8475e2a

/test 43d4a60

Made a change so that the porter build --build-context parameter is only used when required, i.e. for the following workspaces:

airlock-import-review
unrestricted

In all other cases, the --build-context parameter is not used.
The bundle-build make target does this by looking for a file named porter-build-context.env in the workspace folder, if it exists, it grabs the additional build context from the file and passes it to porter build, else it runs porter build without the parameter.

@jonnyry think we need to wait for a new Porter release for this? Not sure running on canary is wise given it could "update" at any time.

@jonnyry think we need to wait for a new Porter release for this? Not sure running on canary is wise given it could "update" at any time.

Yes indeed.  I have requested a patch release, though I don't think its quite as quick and simple as a release of the mixins - they are discussing and will get back to me.

Porter have release version v1.2.1 incorporating the change. https://github.com/getporter/porter/releases/tag/v1.2.1

/test 184b000

/test-destroy-env

/test 184b000

/test 177c97d

authors: jonnyry marrobi tim-allen-ck


text:
Assistance Needed with example_prediction.py

Hi
I’m encountering an issue while trying to run the example_prediction.py file. Could you please clarify the exact command you use to execute it?
Here are the commands I’ve tried so far, but none of them worked:
mpiexec example_prediction.py
torch run example_prediction.py
torch.distributed run example_prediction.py
The error originates from the following line in utilities/distributed.py (line 7):
from mpi4py import MPI
Could you provide guidance on resolving this error?
Thank you for your assistance!

@FrancoisPorcher Are you setting up a new conda enviornment for it?

@FrancoisPorcher Are you setting up a new conda enviornment for it?

Yes I am I just reproduced the environment from the authors (with mamba and not conda though)

You should follow the exact steps and setup a new conda environment otherwise you will run into issue.

Hi there, i just encounter a problem, i ve just installed everything and working but when i execute example_prediciton.py it throws me this next error:
Traceback (most recent call last):
File "/home/jolurobolab/Documentos/develop/DPCDM/BiomedParse/example_prediction.py", line 10, in
from inference_utils.inference import interactive_infer_image
File "/home/jolurobolab/Documentos/develop/DPCDM/BiomedParse/inference_utils/inference.py", line 34, in
from .output_processing import mask_stats, combine_masks
File "/home/jolurobolab/Documentos/develop/DPCDM/BiomedParse/inference_utils/output_processing.py", line 6, in
target_dist = json.load(open("inference_utils/target_dist.json"))
File "/home/jolurobolab/anaconda3/envs/biomedparse/lib/python3.9/json/init.py", line 293, in load
return loads(fp.read(),
File "/home/jolurobolab/anaconda3/envs/biomedparse/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/home/jolurobolab/anaconda3/envs/biomedparse/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/home/jolurobolab/anaconda3/envs/biomedparse/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
I can not encounter the reason for it, anyone here found the same problem?

It seems the reason of the error was that in inference_utils/target_dist.json was ready to make a git lfs pull to make it work, now is running.

Similar to https://github.com/microsoft/BiomedParse/issues/33

@FrancoisPorcher Are you setting up a new conda enviornment for it?

Yes I am I just reproduced the environment from the authors (with mamba and not conda though)

You should follow the exact steps and setup a new conda environment otherwise you will run into issue.

Which command do you run though to execute example_prediction.py ?

@FrancoisPorcher Are you setting up a new conda enviornment for it?

Yes I am I just reproduced the environment from the authors (with mamba and not conda though)

You should follow the exact steps and setup a new conda environment otherwise you will run into issue.

Which command do you run though to execute example_prediction.py ?

just run it with python, should work.

Thanks for the answers in the thread! Yes, just python example_prediction.py should work. The error is likely to be the deprecated target_dist.json during git clone.

target_dist.json is in the git lfs format, you have yo use git lfs pull to get the correct format of the json and then execute the .py it worked to me.

Would be nice to explain this in README

Would be nice to explain this in README

Thanks for the suggestion. We have added this in README, and will refine the process in the near future.

We've now optimized the loading of target_dist.json to be independent of git. It directly downloads from huggingface when needed. Hope this can smooth the process.

authors: Adibvafa FrancoisPorcher jlgs96 theodore-zhao

repo: microsoft/BiomedParse


text:
Component Governance re org.apache.logging.log4j vulnerability

Fixes #minor
Problem:
Component Governance CVE-2021-44228 org.apache.logging.log4j:log4j-api 2.11.0
https://dev.azure.com/FuseLabs/SDK_v4/_componentGovernance/112465/alert/6213220?typeId=4354877
Component Governance CVE-2021-44228 org.apache.logging.log4j:log4j-core 2.14.1
https://dev.azure.com/FuseLabs/SDK_v4/_componentGovernance/112465/alert/6213222?typeId=8088545
Component Governance CVE-2021-44228 org.apache.logging.log4j:log4j-core 2.13.2
https://dev.azure.com/FuseLabs/SDK_v4/_componentGovernance/112465/alert/6213221?typeId=4354877
Component Governance CST-E org.apache.logging.log4j:log4j-to-slf4j 2.13.3
https://dev.azure.com/FuseLabs/SDK_v4/_componentGovernance/112465/alert/6213223?typeId=4354877
This version of log4j contains a critical security vulnerability. Upgrade to version 2.15.0-rc1 or later.
Root dependency: org.springframework.boot:spring-boot-starter-test 2.4.0
Changes:
Update log4j dependencies to v2.15.0.

@BruceHaley  All the samples reference the 4.14.0 SDK which had the same log4j issues which we've now patched in a new 4.14.1 release. We should probably update the SDK references in these samples to 4.14.1 so they won't rely on the old SDK that still references the old log4j packages.

@BruceHaley All the samples reference the 4.14.0 SDK which had the same log4j issues which we've now patched in a new 4.14.1 release. We should probably update the SDK references in these samples to 4.14.1 so they won't rely on the old SDK that still references the old log4j packages.

Done.

authors: BruceHaley LeeParrishMSFT

repo: microsoft/BotBuilder-Samples


text:
Authoring region not set in deploy.ps1 for lubuild command

Describe the bug
Source: https://github.com/microsoft/botframework-cli/blob/master/packages/luis/README.md#bf-luisbuild
./Scripts/deploy.ps1 is missing the --region argument on line 136 which results in lubuild always using the westus region even when another region was set.
Version

Release: Preview 2.0
Application SHA: test
SDK runtime packages: 4.7.0-preview-191208-1

Browser

[x] Chrome
[ ] Safari
[x] Firefox
[x] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to http://localhost:3000/setting/deployment
Click deploy bot to Azure
Copy the generated script and add  -luisAuthoringRegion westeurope to the end
The output of the command will tell you it is publishing the models for the region westus

Expected behavior

I except the -luisAuthoringRegion argument to be used, for example:
lubuild --authoringKey $luisAuthoringKey --region $luisAuthoringRegion
Additional information

Thanks @WizX20 , this issue will be fixed soon.

I actually think there might be more going on, I'm not sure if the lubuild command works at all in the script.
I personally got it working by installing the latest preview version of the botbuilder-tools. I updated the build script like this:
# Execute lubuild command
if (Get-Command bf luis:build -errorAction SilentlyContinue) {
	Write-Host "Start building luis models..."
	#lubuild --authoringKey $luisAuthoringKey --region $luisAuthoringRegion --config $luconfigPath
	bf luis:build --in $localBotPath --botName $name --authoringKey $luisAuthoringKey --region $luisAuthoringRegion
}
else {
	Write-Host "luis:build does not exist, use the following commands to install luis-build:"
	Write-Host "npm config set registry https://botbuilder.myget.org/F/botframework-cli/npm/"
	Write-Host "npm install -g @microsoft/botframework-cli@4.9.0-preview.112501"
	Write-Host "npm config set registry https://registry.npmjs.org/"
	Write-Host "> Please visit https://botbuilder.myget.org/feed/botframework-cli/package/npm/@microsoft/botframework-cli to check the latest version"
	Break
}

The only thing now is, the composer generates an empy .lu file for each new dialog; and the luis:build command will not like those.

Script is using luis:build and add a filter for empty luis model.

Did you guys push this update because I'm still getting this when I'm trying to publish from Composer.
I was using only language generation until yesterday, and the moment I added LUIS to my bot in composer I am unable to deploy. It seems my whole project can't redeploy even though I removed all of my LUIS intents in my bot.
Pretty rough bug, as I can't deploy to Teams right now until this is fixed.
C:\Users\Tyler\Desktop\ChatWorks\MicrosoftTeamsBots\BotFramework-Composer-stable\BotProject\HRBotPrototype>pwsh ./Scripts/deploy.ps1 -name HRBotPrototype -environment testing
The MSBuild project 'C:\Users\Tyler\Desktop\ChatWorks\MicrosoftTeamsBots\BotFramework-Composer-stable\BotProject\HRBotPrototype\BotProject.csproj' has already been initialized with a UserSecretsId.
0
bf luis:build does not exist, use the following command to install:
1. npm config set registry https://botbuilder.myget.org/F/botframework-cli/npm/
2. npm install -g @microsoft/botframework-cli
3. npm config set registry http://registry.npmjs.org

authors: TylerOdenthal WizX20 zidaneymar

repo: microsoft/BotFramework-Composer