Infopath forms hang when submitting to server.
Ever run into the problem where you fill out a web based infopath form and it just… hangs… sending data to server? probably an issue with SP1. if you check the SPLogs, you’ll probably see errors about the canary being modified or something otherwise cryptic and useless: The format of the Canary has been tampered with for form {some guid here}
I dealt with this last week, did some research, and was advised to replace the SP1 Microsoft.Office.InfoPath.Server.dll with the pre SP1 infopath dll on the server. this seemed to fix the problem, but who knows what other issues it introduced. I would love to hear if anyone else has run into this, and if they managed to solve it in another, less hackey way.
Handy SPFolder / SPList / SPFile / SPWhatever interface, using Generics and Elevated Privs.
This is a handly little lib I wrote for accessing various types of objects using generics. enjoy :-)
class SPDataAdapter { public static T GetObject(string location) { object obj = null; SPSecurity.RunWithElevatedPrivileges(delegate { using (var site = new SPSite(location)) { obj = site.OpenWeb().GetObject(location); } }); return (T)obj; } public static T GetObject(string location, bool useElevatedPrivs) { if (useElevatedPrivs) return GetObject(location); using (var site = new SPSite(location)) { return (T)site.OpenWeb().GetObject(location); } } public static SPList GetList(string location, bool useElevatedPrivs) { if (useElevatedPrivs) return GetList(location); using (var site = new SPSite(location)) { return site.OpenWeb().GetList(location); } } public static SPList GetList(string location) { SPList list = null; SPSecurity.RunWithElevatedPrivileges(delegate { using (var site = new SPSite(location)) { list = site.OpenWeb().GetList(location); } }); return list; } }
and to test:
[TestMethod()] public void GetObjectTest1() { GetObjectTest1Helper<SPFolder>(); } public void GetObjectTest1Helper<T>() { const string location = "http://spiral/Lists/Tasks"; const bool useElevatedPrivs = true; var actual = SPDataAdapter.GetObject<T>(location, useElevatedPrivs); Assert.IsNotNull(actual); } [TestMethod()] public void GetObjectTest() { GetObjectTestHelper<SPFile>(); } public void GetObjectTestHelper<T>() { const string location = "http://spiral/Lists/Tasks/Attachments/1/nebulae.jpg"; T actual = SPDataAdapter.GetObject<T>(location); Assert.IsNotNull(actual); }
YouTube – Martin Luther King, Jr. on War
SPList Factory – singleton access to your lists.
A few months ago I was doing a refresher in GOF design patterns. I have a couple favorites: memento, observer, state, and the factory of course :-)
So I was trying to implement these patterns in a conceptual SPAL ( sp access layer ), and what I’ve found is that having a SPListWrapper object, and a factory to create them and allow static access is *the bees knees*, especially if you want to implement an ajax interface. Since you only load the list once, its pretty speedy too.
I absolutely love ajax and making the sharepoint interface more robust and seamless. Any interface for that matter. there is a library i use exclusively that covers all browsers and addresses the issues found in each of them, even the pesky ie memory leak.
What Im getting at is that I have a bunch of cool stuff to share that probably would become convoluted in a mass array of blog entries, so I think it would be worthwhile to vlog it. stay tuned, could take a few days while.
xkcd – A webcomic of romance, sarcasm, math, and language – By Randall Munroe
click for the series… too cute :)
xkcd – A webcomic of romance, sarcasm, math, and language – By Randall Munroe
Paris Hilton Responds to McCain Ad from Paris Hilton, Chris Henchy, and Adam “Ghost Panther” McKay
sunshine
a pack of wild butterflies just flew through my yard,
the morning glories are jealous.
Save Conflict in workflow on SPListItem.Update or SystemUpdate
in this scenario, I have a really simple workflow that creates a task, does some infopath approval stuff, then copies that list item to another list. the kicker is when you want to add something about that copied item to the original item, say an id column so you have a reference. after saving the copy, you set a column on the original and try to update the listitem, and get a “save conflict” error.
Ive seen a lot of posts on this error, most of them point to not having access to that listitem because its locked by the workflow itself. I would assume that you can somehow capture the item before the workflow updates it, and set the properties you want. could someone enlighten me if this is true? I’ve seen posts saying to use a delay, to wrap it in a repeating try / catch until the item is unlocked, to try programmatically to check it out, and then save it. I can’t see any of this as being best answer.
What Ive decided is to attach an event handler to the second list to set the id in the first. this seems to be pretty reliable, plus I already had an event handler on that list. I’m really curious to know if there’s a resolution for this.
other info on this issue:
http://forums.msdn.microsoft.com/en-US/sharepointdevelopment/thread/641b40fb-614f-4266-95c0-d61c2f443146/
I think I should start painting.
I have visions of abstract spirals I can’t find in any art on ebay. anyone else? I’m thinking red and black with a grey borders, mathematically perfect yet chaotic. very large. and planetary. I would attempt it with photoshop, but I don’t think my brain works that way very well. There is something to be said with creating something physically with your hands, as opposed to a kbd+clicker thing. I have some vacation time coming to me, Id like to see what I can come up with. I wanna see what life without code is for long enough to get used to it :)
life without email would sorta kick ass. you know what does kick ass? kexp.
what am i doing here…
alt+t enter w enter space alt+tab F5 F10 F10 F10 F5? repeat?
I will stop switching themes now.
this is the one. Until I finish my own.
Crazy day. Today ( yesterday? ) was my daughters 10th birthday. I remember thinking when she was born that this day would come, although I never really believed it.
This means I will be 30 soon.
There are quite a few things I thought I would have done by 30… and I have done quite a few of them. I did not predict my state of mind very well, however. I am far more mentally stable than I thought I would be, far less expressive with my creativity though. Hence, the blog. The chance to wax poetic again when the mood strikes me, the chance to vent and express and connect and maybe even offer my brain to the masses if the request is made of me. intellectual aspects aside, however, now is the time to focus on my physical being. I feel less drive to be physically active now than ever before, but I don’t blame that on age as much as where my focus has been: work.
Except for the last weeks, I have been focused on nothing but work for years. I have let everything else take the back seat, especially over my personal relationships. I could dissect that, but playing personal therapist from such a self critical point of view is probably more damaging than healthy. There is no past, there is no future, there is only the now, and maybe the preparation for the next now.
The 711 by my house kicks ass. Its the one right across from the $3 theatre, and the guys that work there are about as rad as they come. I have had my bags carried out to my car, random interesting conversations, even free slurpees. They treat everyone that way. The music is always cranked, the flower pots are blooming, and you’re greeted with a warm welcome whenever you walk in. So strange to find in seattle. The owner in particular, that man is being the change i want to see. Its all out there, you can see it if you pay attention. it would be much easier if all humans had name tags that said either “enlightened” or “not there yet”.
Do you ever have the urge to completely open yourself up? to become completely unguarded and honest and trusting as you are capable of? To go into the world every day with the intention to leave a wake of positivity and hope? I feel this so intensely lately, so completely and deeply that it may even be coming off as forced. I wonder if i can come up with an algorithm to calculate the degrees of lattitude between manifestation and force, because I am sure there’s a difference but I can’t put my finger on it. I bet there’s a variance that has something to do with the current moon phase.

