BUG FOUND: 1-Click Publish does not [always] update code

BUG FOUND: 1-Click Publish does not [always] update code

  

Code not updating for the following use case - 

Use case 1) when an eSpace is updated and published the swagger does not get updated.

Use case 2) when an extension is updated with a new reference library and gets published - sometimes outsystems still uses the old library!


Work-around solutions:

Case 1 - Republish the entire solution via Service Centre 

Case 2 - Change the assembly version number!


Solution

Thanks for reporting, Robert! 

I'll forward this to the team so it can be fixed.

Thanks,
R

Solution

Note: use case 1) issue occurs with change of name of structure attribute. 

Hello Robert

Regarding use case 1), are you using OutSystems 10?

In the new versions the structure attributes now have a "Name in JSON" property that defines what will be the name of that property in the JSON payload (either input or output), and by consequence it is also the name that will show up in the Swagger documentation.

Having this property allows you to expose properties with characters not supported by standard OutSystems attributes (a-Z,0-9,_).

To access this property, you can either double click the Structure or click the "JSON..." line in the attribute properties.


This will open the advanced structure editor where you can set the "Name in JSON" property for each attribute.


If the "Name in JSON" property is empty, the attribute name will be used instead.

Hi Robert,


Can be a bit more specific on your second issue? Ex: what library, or how can we replicate the issue.

Because changing the assembly version number wouldn't fix/change anything (except if the library was being loaded from the GAC).


Regards,
João Rosado

@João Amorim

JSON property was not used.


@João Rosado

It was a custom library, just create a class library with a sample method (so you can test it) now reference your class library in an outsystem extension, publish the extension. 

Make changes to your custom library method, keep the project version the same, publish the extension again! 


Test it! If you get the same results even after you updated your class library, there is something wrong! (you might find inconsistent results, it might work sometimes but then it might not work)





Hi Robert

Can you give me more info on the case that is failing? Is the structure inside a list, nested structure, or a simple structure used as input/output?

Structure looks something like this 

MyRequest.Amount.Amount

Renaned amount to TotalAmount 


This bug is more serious than I initially thought!

It has occurred more than once, when you remove an attribute from a structure the swagger.json does not get updated either!


Only when you publish the solution via service center the swagger.json file gets updated. WHY?


Hi Robert

Can you isolate the structure causing the error in an eSpace that you can give us?

Joao, it is not just one structure , the issue occurs in other structures aswell. Swagger.json does not get updated unless the entire application is republished in service centre. 

This issue occurs frequently! 1-click publishing is not doing its job. 

I can confirm bug #2 that Robert is reporting here, we've been seeing it on version 9.2.300, and we do have an open case on it.

This is an extraordinarily serious issue. We lot tens of thousands of dollars worth of time to this problem, because we had a massive dev team chasing their tails around this problem.

J.Ja

Hi Robert

Regarding the swagger problem, I tried the structure you suggested but couldn't replicate it. Can you attach an eSpace or open a support case so we can look at it?