Working on 2.0: What needs fixing?

Oct 27, 2008 at 4:07 PM
Hi, everyone. I'm going to be working on fixing up the 2.0 release of the toolkit and hopefully getting the release out soon. Right now, I'm trying to just take an inventory of the bugs we currently have in the toolkit. I know about these two:
  • 10949 - AuthenticationException when using fs.CreateSession
  • 10364 - profile.setInfo and profile.getInfo don't work
From looking at the source code, it looks like 10949 has some kind of fix in place right now, but I'm going to look and see if there's something else we should be doing there. As for 10364, I believe I've fixed the issue, and I'm working on testing it before I check it in.

So, I pose this question to all of you: Are there any other issues in 2.0 RC2 that need to be fixed? Keep in mind that I'm looking for bugs only - new features/implementing new interfaces from Facebook will have to wait for a future release. If you know of anything that's just not working in 2.0 RC2, though, please let me know and I'll make sure to fix it before making a new release.

Jon Schuster
Clarity Consulting, Inc.
Oct 27, 2008 at 4:26 PM
Edited Oct 27, 2008 at 4:29 PM
There is also some licensing issue with linq to xsd right ?

Also, i have not actually used version 2.0 yet but what I gather from comments is that is simply does not work :)
Oct 27, 2008 at 5:52 PM
You won't have to worry about the licensing issue.  This has been worked out with the Linq 2 XSD team.  Use of the 2.0 toolkit, licensing-wise, will not be any more restictive than the 1.x releases.
Oct 27, 2008 at 6:29 PM
Edited Oct 28, 2008 at 6:13 PM
My areas of concern are:

1. profile.setFBML - a few people say that they can get this to work. I (when duplicating their code, or running a project I've downloaded) cannot. I think there may be an inconsistancy there.
2. feed.publishUserAction - I dont believe this is working with your version of the .dll. Ebswift, I believe, has had some luck with this in his recomplied version. But I believe that BundleID is a parameter that isn't included in his version. This one may fall into the 'new implementation' category.

Both of these methods spit something out on the user's profiles, I think this is a very important aspect of the facebook API that the 2.0 .Net toolkit is lacking. 

Oct 28, 2008 at 3:04 AM
I would simply love a working sample app to get started with. That would be super and would help a ton.
Oct 28, 2008 at 3:08 PM
The toolkit already includes several sample apps. Do those not work for you? What would you like to see added/fixed in the samples?
Oct 28, 2008 at 6:25 PM

I know this will sound impatient, but, any time frame on the new rollout?
Nothing that I would hold you to, of course, just an idea for when you think you'd be ready with (RC3?).
I realize your still in the process of gathering info, I'm just wondering if it's something you
think is a month or a week out...

Oct 28, 2008 at 7:37 PM
The schedule is still somewhat up in the air yet, but I think there's a good chance we should have a release candidate out by the end of this week or early next week, with the official release soon to follow (hopefully). Most of the bugs that I'm aware of have been fixed in the last couple of days, so it should be mostly a matter of cleaning things up, updating documentation, etc. We're also looking at maybe putting a couple of other things into the release, so that could affect the schedule, but they may just be postponed until a future release.

So, ball-park estimate, roughly a week, but that may still change. I'll try to remember to post again when I have a better idea of what the schedule will be like.
Oct 29, 2008 at 12:13 AM
You might want to look at item 11515 (fb_sig_session_key and fb_sig_user no longer sent...)

This, at least for me, was a breaking issue for deploying a tab under this framework.


Oct 29, 2008 at 2:19 AM
Edited Oct 29, 2008 at 2:45 AM
getting security exception when making api calls on Godaddy with 2.0 latest source :

Security Exception

Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
   System.Security.CodeAccessPermission.Demand() +59
   System.Net.ServicePointManager.set_ServerCertificateValidationCallback(RemoteCertificateValidationCallback value) +54
   facebook.API.postRequest(String requestUrl, String postString) +98
   facebook.API.SendRequest(IDictionary`2 parameterDictionary, Boolean useSession) +253
   facebook.auth.getSession(String auth_token) +83
   facebook.API.CreateSession() +17
   facebook.API.CreateSession(String authToken) +15
   facebook.web.BasePageHelper.LoadFBMLPage(API FaceBookAPI, Boolean requireLogin, HttpRequest request, HttpResponse response) in BasePageHelper.cs:81
   facebook.web.CanvasFBMLMasterPage.Page_Init(Object sender, EventArgs e) in CanvasFBMLMasterPage.cs:65
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
   System.Web.UI.Control.OnInit(EventArgs e) +99
   System.Web.UI.UserControl.OnInit(EventArgs e) +74
   System.Web.UI.Control.InitRecursive(Control namingContainer) +321
   System.Web.UI.Control.InitRecursive(Control namingContainer) +198
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7350
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213
   System.Web.UI.Page.ProcessRequest() +86
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
   System.Web.UI.Page.ProcessRequest(HttpContext context) +49
   ASP.default_aspx.ProcessRequest(HttpContext context) +4
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

I remember having this problem with a previous toolkit, but can't remember what the fix was. I'm sure others will hit this wall at 1 point or the other as well...
Oct 29, 2008 at 4:10 AM

don't mean to add to the hijack...
shot in the dark here - is it maybe a "medium" trust thing?
I know shared hosting commonly uses medium trust.
I think there may be a web.config parameter you can add for this issue.
google around, that may be enough to get you an answer...

Oct 29, 2008 at 10:09 AM
I've got the same problem like phillipB: toolkit 2.0 and godaddy hosting. I've tried every web.config parameter and some other things I've found via google, unfortunately without any success.

Other problems which should be fixed:
- notifications.send misses the "type" parameter.
- events.get throws an exception, when there are no events
- photos.get throws an exception, when there are no events
Oct 29, 2008 at 11:15 AM
My main focus is development of desktop apps.  Two of the issues are documented already and I have added a third below.

At the moment it is not possible to log a user out and login with a different user without restarting a desktop app.  There is some sort of persistence of the user's credentials which I don't fully understand.

I need to add the toolkit assemblies to the GAC for my app to work (it's a Windows Media Center add-in).  At the moment the Linq2XSD assembly is not signed and therefore I cannot easily sign the toolkit assemblies myself.  There are work arounds, but I don't really want to have to sign the Microsoft provided assembly myself in order to distribute it.  Is there anyway we can get a Microsoft signed Linq2XSD assembly?

3. I don't think it is currently possible to grant extended permissions in the RC2 release.  For desktop apps it is essential that users should be able to grant 'Offline Access'.

Oct 29, 2008 at 4:09 PM
Thanks for the feedback, everyone, I appreciate it.

For anyone interested in the SecurityException issue, let's move that discussion to the issue that's been logged (thanks for logging this, by the way, phillipb).
Oct 30, 2008 at 12:05 AM
Billtuer, I'm not seeing the issues you mentioned with events.get and photos.get. They both seem to work fine for me, and return an empty list whenever there are no events/photos. Are you sure you're seeing those in 2.0, and not 1.x?
Oct 30, 2008 at 10:14 AM
@ jschuster
You're right, those two errors belong to 1.7. Sorry.
Oct 31, 2008 at 1:32 PM

Hey Jon,

Sorry just saw this thread so I might be a bit late to the party - I also vote for publishUserAction!  I think it's one of the few api calls not implemented in the fdt and has really been a stumbling block for me...I've been considering adding this functionality myself but would prefer to not branch from the fdt code


Thank you so much for your work on this project - You've saved myself (and obviously tons of other developers) countless hours.  Thanks again!

Shane Kunkle

Oct 31, 2008 at 3:21 PM
Isn't it just great when your computer blue-screens when you're almost at the end of a long discussion board post? I know I'm always a big fan. </sarcasm>

Anyway, Shane, what I was going to say was that I actually just implemented publishUserAction in the toolkit the other day, so that will be included in the 2.0 release.

As for writing the code yourself: please do! And after you do so, send us a patch, and we'll take a look and probably add it to the toolkit. This is an open source project, after all.

That advice holds for everyone: If there's something not implemented yet in the toolkit that you'd like to see in it (or a bug that needs to be fixed, or whatever), send us a patch, and we'll take a look at it. I can't guarantee that we'll accept everything we receive, but we'll at least do our best to evaluate all the patches that get sent and decide if they're right for the FDT or not. I'm going to try to do a much better job than I have been doing on looking at patches that people send, and I'll probably pester some of the other guys at Clarity who have worked on the FDT to do the same (you know who you are!).
May 1, 2009 at 10:01 PM
So, how about that rollout? Been...5 months.
May 3, 2009 at 6:33 PM
You mean the 2.0 release? It already happened - about 5 months ago. Are you not seeing it on the downloads page?
May 4, 2009 at 2:12 AM
Whoops, I misunderstood. I thought you were referring to a release after 2.0. I didn't read closely enough.