Feb
26
2009
In about a month or so, we will be leaving our 5 bedroom house in Virginia behind for good. We will be driving away in a blue diesel Suburban and pulling our 32 foot travel trailer.
Since before we were married, my husband and I talked about living on the road in a trailer or a sailboat. Well, it looks like that dream is finally going to happen. We sure didn’t imagine doing this with 5 kids though. We’ve done some test runs (a short vacation and sleep-overs in the trailer in our driveway!). There will definitely be some adjustments. Okay, a lot of adjustments. But the kids are excited and have actually been very cooperative and helpful about selling and giving away many of their clothes and toys that won’t fit in the trailer. I seem to be the one that wants to hold onto things. Especially their homeschooling books and games. I have 5 file bins full of books, activities and crafts that we might need.
I have all my crafts and paints and paintbrushes that I just can’t seem to part with. It’s interesting to see what’s most important to me. My jeans, my art supplies. And of course, my Mac. I had a hard time parting with my shower curtains, but, I got over it. My dishes (breakable) and coffee maker (too big) can always be replaced if we decide to settle down in a house again. For my oldest son Bennah, it is his sketch pads, Legos and nature encyclopedia. My oldest daughter Reayah has her Treasure box. It’s a collection of jewelery, hair paraphernalia, movie stubs saved from family dates, unique stones found on walks, and other beautiful and shiny treasures she has found or bought. She loves her books and tea set too. Zach will be happy with just his toy cars and Duplo blocks. Jaiden will be happy as long as he has what everyone else has. Joy, who is only 4 months, will be content to have a toy that she can chew on and that makes a crinkly noise. And maybe I’ll keep a few board books like “Brown Bear, Brown Bear” and “Good-Night Moon”.
We are all looking forward to this adventure. It will hopefully be a simpler life full of opportunities to minister to whoever Father puts in our path along the way. We just want to walk in YHWH’s purposes wherever he leads.
I hope to stay in touch with many of you. Don’t forget us!
3 comments | posted in Journal, Preparing, Travel Log
Feb
14
2009
“i planted the gun in the dirt”
[intrigued father]:
“oh? is it going to grow into a gun tree?”
[the Z who has it all figured out]:
“when we water it – it will.”
Comments Off on green thumb | posted in The Sayings of Zach, Words of Wisdom
Feb
13
2009
8 weeks and counting…
Only a short time left before we hit the road! We are selling stuff, donating stuff, throwing away stuff. Makes me realize how much stuff I really have. Makes me wonder why I have so much stuff anyway. I’m looking forward to living in a smaller space. There will be a lot less to clean. Less space to accumulate stuff. I’m trying to organize and simplify, but for some reason, this means buying more. I need new bins and new containers and drawers and folders to keep everything in it’s place. I am buying more stuff as I’m trying to get rid of stuff. It’s getting very complicated to live simply. It would be easier to throw everything out and start over completely. Hmmmmm…. that’s an idea.
Comments Off on stuff… | posted in Material Things, Preparing
Feb
10
2009
[reaching for pretend popcorn]:
“i’m watching a show. it’s a long one. first there’s Curious George, and then there’s George Washington…”
[wise and understanding father]:
“Oh, George Washington? What’s that about?”
[matter of factly]:
“robots.”
Comments Off on one track mind | tags: robots | posted in The Sayings of Zach, Words of Wisdom
Oct
3
2008
“atchaforcanu!”
[translation finally achieved through the tireless efforts of several frustrated linguists]:
“watch how far i can yell!”
Comments Off on frugal | posted in The Sayings of Zach, Words of Wisdom
Sep
16
2008
[migrated from http://edgedev.blogspot.com]:
It seemed simple enough at first. All I wanted was a way to dynamically pull data from Lists and Document Libaries into InfoPath. Oh, but did I forget to mentioned that I also wanted the data filtered BEFORE it hit InfoPath because the Lists and Libraries might be massive (go figure). Trying several things, it became obvious that I needed a faster/better/easier method than any of the following:
- Using a baked-in InfoPath data connection to a List is easy, but it retrieves ALL List items and leaves filtering to the controls. This is obviously a horrible method when working with large data sets.
- Using custom code-behind on the InfoPath form to query SharePoint via the object model is perhaps the cleanest method, but adds code-bloat, is not very modular, and requires extra maintenance.
- Using a web service data connection from InfoPath to SharePoint web services (like http://[site]/_vti_bin/lists.asmx?op=GetListItem) would be perfect, except that InfoPath does not form the xml in the SOAP request correctly (i.e. the way that SharePoint is expecting) and returns an error. Actually, this boggles my mind. Somebody please correct me if I’m wrong here and/or if there is a clever workaround that I couldn’t find / figure out. This seems like an incredible oversight on Microsoft’s part for 2 products that are supposedly designed to play nice together.
- Since I’m in a K2 blackpearl environment, I also thought about using a SmartObject, which rivals option #2 for cleanest method, but it also adds an additional maintenance tail outside of InfoPath and requires additional wiring inside the form.
Looking for a solution, I stumbled on this article – http://blogs.msdn.com/infopath/archive/2007/01/15/populating-form-data-from-sharepoint-list-views.aspx – at the InfoPath Team blog which formed the basis for a new idea:
To summarize – if you don’t want to have to read through the whole article yourself: This little known feature allows you to pass GUIDs for Lists and Views, along with filter parameters, in the URL querystring to owssvr.dll and dynamically retrieve an XML “results” file. Furthermore, the URL itself can be used as the file location for an “XML Document” data connection in InfoPath.
The main hurdle is that, once the data connection is created, it doesn’t seem on the surface like there’s a way to dynamically update this file location to retrieve a different XML Results Document from a List or Library based on related fields in a form that has been opened. Well, it turns out that the InfoPath object model exposes this property and lets us manually execute the query.
In my particular scenario I wanted to retrieve a group of documents (metadata) from a massive Document Library where a DocumentColumn matched a particular FieldValue in the form opened. Here’s what I did:
- [Optional] Create a View of the List or Doc Lib that contains the specific fields you want retrieved into the Form
- In the Form, add a new Receive > XML Document data connection
- For the “location of the XML data file…” in the wizard use:
http://[server]/[site]/[list]/_vti_bin/owssvr.dll?Cmd=Display&List={LIST_GUID}&XMLDATA=TRUE
- [Optional] Include &View={VIEW_GUID} if you want to pull data and columns from a specific view that already exists or was created in step 1.
- Note: the GUIDs in the querystring parameters can be in either format:
a. “{xxxxx-xxxxx-xxxx-…}”
b. “%7BF498875E%2D5A645B%2D…” (as copied directly from SharePoint generated URLs)
- Complete the data connection wizard – this will add the unfiltered data connection results schema to the Form (you do want the unfiltered schema). Make sure the following settings are set as you complete the wizard:
a. “Access the data from the specified location”
b. [UNcheck] “Automatically retrieve data when form is opened”
- To add the repeating table that will hold the query results, find the xml/rs:data/z:row repeating group in the new data connection and drag it onto the form
- To complete the solution, a little code-behind is necessary (but it’s minimal and a LOT less code than method #2 mentioned at the top). There are probably several ways to do this (like wiring the code to a button or another event), but here’s my basic approach:
- Since the ID will already be stored in the form data by the time the user opens it (in the context of a K2 workflow), I use the form’s Loading event to modify the connection URL and execute the connection.
a. In InfoPath Designer: Tools > Programming > Loading Event
b. In Visual Studio Tools for Office: Insert > Loading Event
- The following code will append – at run time – the filter parameter and value from a field in the form to the XML Data Connection location URL and execute the data connection to retrieve the hits:
// we need to instantiate a typed data connection object
// to modify the query and execute the results
FileQueryConnection dc = (FileQueryConnection)(this.DataConnections
[“NameOfXmlDataConnectionCreatedThroughWizard”]);
// next, we append the filtering values from the form field(s)
// to the existing URL already stored in the data connection
// –see notes for description of readNode()
dc.FileLocation += “&FilterField1=DocumentColumnName&FilterValue1=” +
readNode(“/my:myFields/my:FieldInForm”);
//finally, we execute the data connection to return the results
dc.Execute();
Notes:
- readNode is a little helper function I add to all my InfoPath forms so that I can quickly retrieve the value of a node without having to jump through navigator objects every time I want to get something. It looks like this:
public string readNode(string xpath)
{
return MainDataSource.CreateNavigator().SelectSingleNode(xpath,
NamespaceManager).InnerXml.ToString();
}
- I think the SharePoint URL trick supports multiple FilterFieldX and FilterValueX parameters, so in theory, you could build pretty sufficient queries using the querystring alone. For example:
“&FilterField1=ColumnName1&FilterValue1=Value1&FilterField2=ColumnName2&FilterValue2=Value2”
This trick might also be leveraged throughout other events in K2 workflows since it returns standard XML and the query results are stored in /xml/rs:data/z:row.
Use this knowledge wisely. And have fun.
10 comments | tags: code, infopath, moss, sharepoint, soap, xml | posted in sharepoint, Technology
May
17
2008
“here, dad, i made this robot for YOU……… but it’s for ME……..”
Comments Off on generosity | tags: robots | posted in The Sayings of Zach, Words of Wisdom
May
17
2008
[mother dresses him in a shirt with big shiny buttons]
“i’m a robot!”
Comments Off on epiphany #3 | tags: robots | posted in The Sayings of Zach, Words of Wisdom