Integrate OpenId in Outsystems - problem!

Integrate OpenId in Outsystems - problem!

  
Hi all,
I have some problem in intergrating OpenId in Outsystems
   1. My login page lost all text and css when i reload using my Javascript submit . I embered script code in jQueryImport widget in the attached project(OpenIdExample.oml)
    it includes  jquery , init OpenId provider frame, and event handler when clicking the Provider Image.
   2. postback , i using isAjaxRefresh but i think it is not equivalent with Postback check (maybe i use it in wrong way)
   3. Writing code in .Net .I have the code using DotNetOpenAuth (an lib for .Net to integrate OpenId) , it built successfully in .Net 2010 but error in Integration studio .The                
error that wrong .Net SDK paths(i'm new in .Net so...)

Please give me advices to solve my problem.
Thank
Hi,

I'm not sure I undestood what are your problems, but lets see if I can help.

1. Im guessing that on the end of your javascript submit you are still submiting the page as a normal request. That will cause .AspNet to render a bad page, since the submit button that was clicked didn't exist on the original page. Make sure your submit method never really does a Post of the page like that.
If the intent is to submit it on some scenario, do a "$('#" + LoginButton.Id +"').click()" to trigger the real button instead.

2. Not sure what you are trying to do there. Don't see any isAjaxRequest on the eSpace.
Anyway isAjaxRequest tells if the action was called with a button with the Method set to Ajax
isPostback tells if the page is rendering as the result of a Post

3. Exactly what error are you getting? Try scrolling on that error message, usually the first line of a warning saying it could not find the SDK ..but thats not the problem.

Regards,
João Rosado
sorry for my tardy respond
my error code in .net is : "NET Compilation.
 
GetFrameworkPaths:
 Could not locate the .NET Framework SDK.  The task is looking for the path to the .NET Framework SDK at the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.  You may be able to solve the problem by doing one of the following:  1.) Install the .NET Framework SDK.  2.) Manually set the above registry key to the correct location.
OpenIdExtension.cs(20,20): error CS0246: The type or namespace name 'var' could not be found (are you missing a using directive or an assembly reference?)
OpenIdExtension.cs(24,17): error CS0246: The type or namespace name 'var' could not be found (are you missing a using directive or an assembly reference?)
OpenIdExtension.cs(35,25): error CS0246: The type or namespace name 'var' could not be found (are you missing a using directive or an assembly reference?)
"
Please help me , i'm new in .net too
I'm getting the same error in Integration Studio, and so far I haven't been able to solve it.

.NET Compilation.

GetFrameworkPaths:
 Could not locate the .NET Framework SDK.  The task is looking for the path to the .NET Framework SDK at the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.  You may be able to solve the problem by doing one of the following:  1.) Install the .NET Framework SDK.  2.) Manually set the above registry key to the correct location.
AuthorizeNet.cs(73697,27): error CS0144: Cannot create an instance of the abstract class or interface 'AuthorizeNet.GatewayRequest'

I installed the .NET Framework 2.0 SDK. Is that wrong?
Did I import the wrong assembly?

Sorry, I'm also brand new to .NET and this is my first time using Integration Studio.
Any news regarding this post?
I'm also having this same problem publishing an extension. Anyone knows how to solve it?


Thanks,
Sérgio Oliveira
Hi Sérgio,

Can you copy paste the complete error message you get?
I could tell you how to solve the problems in the 2 previous posts (both are different) but I think its better to see what you actually hitting :)

Note for anyone else reading this post: the first line is a .net warning, not an error. The SDK is NOT needed, please ignore that part of the messages.

Regards,
João Rosado
Hi João,

Thanks for your reply,
This is the error, and it doesn't give any error on .Net, just when I try to publish on Integration Studio it fails on the Compiling step:

GetFrameworkPaths:
 Could not locate the .NET Framework SDK.  The task is looking for the path to the .NET Framework SDK at the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.  You may be able to solve the problem by doing one of the following:  1.) Install the .NET Framework SDK.  2.) Manually set the above registry key to the correct location.
GoogleCalendar.cs(30,67): error CS1031: Type expected
GoogleCalendar.cs(30,68): error CS0443: Syntax error, value expected
GoogleCalendar.cs(30,70): error CS1026: ) expected
GoogleCalendar.cs(30,121): error CS1002: ; expected
GoogleCalendar.cs(30,122): error CS1525: Invalid expression term ')'
GoogleCalendar.cs(65,35): error CS1002: ; expected
GoogleCalendar.cs(67,40): error CS1002: ; expected
GoogleCalendar.cs(67,40): error CS1525: Invalid expression term ','
GoogleCalendar.cs(67,41): error CS1002: ; expected
GoogleCalendar.cs(68,39): error CS1002: ; expected
GoogleCalendar.cs(68,39): error CS1525: Invalid expression term ','
GoogleCalendar.cs(68,40): error CS1002: ; expected
GoogleCalendar.cs(69,44): error CS1002: ; expected
GoogleCalendar.cs(71,64): error CS1002: ; expected
GoogleCalendar.cs(71,64): error CS1525: Invalid expression term ','
GoogleCalendar.cs(71,65): error CS1002: ; expected
GoogleCalendar.cs(72,53): error CS1002: ; expected
GoogleCalendar.cs(73,18): error CS1525: Invalid expression term ','
GoogleCalendar.cs(73,19): error CS1002: ; expected
GoogleCalendar.cs(74,42): error CS1002: ; expected
GoogleCalendar.cs(76,64): error CS1002: ; expected
GoogleCalendar.cs(76,64): error CS1525: Invalid expression term ','
GoogleCalendar.cs(76,65): error CS1002: ; expected
GoogleCalendar.cs(77,53): error CS1002: ; expected
GoogleCalendar.cs(78,18): error CS1525: Invalid expression term ','
GoogleCalendar.cs(78,19): error CS1002: ; expected
GoogleCalendar.cs(93,67): error CS1031: Type expected
GoogleCalendar.cs(93,68): error CS0443: Syntax error, value expected
GoogleCalendar.cs(93,70): error CS1026: ) expected
GoogleCalendar.cs(93,121): error CS1002: ; expected
GoogleCalendar.cs(93,122): error CS1525: Invalid expression term ')'


Thanks,
Sérgio Oliveira
Hi Sérgio,

I'm not sure about your error ..I tried to replicate it locally but couldn't.
So here are the 3 usual problems ..and I hope it's one of yours.

1- Target Framework.
Currently only .net 3.5 is supported, so make sure you have visual studio targeting the correct framework version in the project properties.



2- ToolsVersion
The .csproj file inside the extension is (at the moment) being created with a ToolsVersion="2.0" and Visual Studio doesn't upgrade it correctly.
You may need to change it to either 3.5 or 4.0.

If you are using Visual Studio 2008, change it to 3.5


If you are using Visual Studio 2010 or 2012, change it to 4.0



3- Integration Studio settings
The .net compiler tool setting needs to be set to either the 3.5 or 4.0 msbuild path. Best is probably to match it to what you used in the previous step.

If you set the ToolsVersion to 3.5


If you set the ToolsVersion to 4.0



Doing these 3 steps will fix all the other problems in this thread. But like I said im not 100% sure that it fixes yours.
If you still have problems can you post the extension?
Or at least copy paste some of the lines of the file that gives the error (lines 30, 65 and 67 of the GoogleCalendar.cs file)


Regards,
João Rosado
Hi João,
Sorry for the late...First of all, thanks a lot for you reply and this very good explanation.
Unfortunately I had all the settings you mentioned correctly, so it didn't solve my problem...However,I managed to publish it, uploading the extension through the Service Center, was the only way..but now, even that fails..

I also tried to set a string value with Name="SDKInstallRootv2.0" with Data="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" based on this post, but without success:
http://social.msdn.microsoft.com/Forums/en-US/blend/thread/6fee2ffc-d42d-4eec-809d-cdaea0f192fe

In attachment I send the extension, once again, thank you very much.

Regards,
Sérgio Oliveira
Hi again,

Finally I managed to publish the extension! Was weird, I had my project correctly set to .net 3.5 on Visual Studio 2008, and I also checked the ToolsVersion you mentioned on the .csproj file.
I was checking the
.csproj file again and it still had ToolsVersion="2.0", I changed it again to ToolsVersion="3.5" and after saving when I tried to publish, it worked!

Once again, thanks João, for your helpfull explanation on this.
Sérgio Oliveira
Sérgio Oliveira, good afternoon!
you could do the Single Sign-on, using the openId?
Has as you say it works?
att,
Rodrigo Ros
Hi Rodrigo,

I'm not sure if I understood your question..Could you specified a bit more?
I had a problem publishing an extension with Integration Studio which I could solve thanks to João's suggestion above:
 
2- ToolsVersion
The .csproj file inside the extension is (at the moment) being created with a ToolsVersion="2.0" and Visual Studio doesn't upgrade it correctly.
You may need to change it to either 3.5 or 4.0.
 
After I did that change on my Visual Studio project, I managed to publish the extension.

Regards,
Sérgio Oliveira