in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

Michael Lotter's little view of the big world of SharePoint and InfoPath

  • My blog is moving

    Just wanted to let everyone know that I’m moving my blog to http://blog.michaellotter.com and I will be updating my feed over the weekend when everything is slow.  The blog has a new name called “ML’s Chatter” and I’ll be using the open source platform BlogEngine.Net.  The SharePointBlogs site has been great to me but I think it’s time for me to move on to a different platform that is open source and allows me more flexibility.

    The new blog already has an updated Code Camp and User Group page on it that display’s more presentations but please keep in mind a lot of the presentations are the same.  I’ll be uploading the code for the Extending STSADM session shortly.

    Cheers,
    Michael

     

  • Speaking at the Roanoke Code Camp on March 1st

    It's true, I'll be speaking at another code camp and I'm really excited about this code camp because I'll be featuring a new session.  My new session is called "SharePoint Security Management for the Business User" and it will have a lot of demos on how to setup and maintain SharePoint user security from the business user perspective.  I'll also be doing the InfoPath 2007/InfoPath Forms Services and Visual Studio 2008 session which is my bread and butter session.  You might be thinking that I'm losing my mind because I'm doing so many of these code camps but let me assure you that I'm really having a goodtime sharing my experiences and not losing my mind.

    I'm also very proud to say that Nas will be doing his first code camp session at Roanoke and I'm really excited about attending his session on configuring FBA for MOSS.  His session goes into details on how to do the FBA for regular SharePoint sites but also My Sites.  He and I have already talked a lot about the session details during are 24 hour road trip to the South Florida Code Camp.  I also think he will be talking about setting up a custom ASP.NET application for creating user accounts.  This should be another good session.  He has got me so revved up about FBA and I'm already thinking about creating some InfoPath 2007 browser based forms for creating FBA accounts and roles and maybe doing a joint session with him.

    You can register and view the schedule for the Roanoke Code Camp at the below link.  Hope to see you there.

    http://www.rvnug.org/codecamp.aspx

    Cheers

  • Speaking at the Raleigh Code Camp on February 16th

    For most of the people that read my blog don't know that I live in a small town outside of Raleigh, NC and unfortunately I'm not that involved in the local SharePoint or .NET community because I travel so much but I'm going to get the great pleasure to speak at the Raleigh Code Camp this weekend.  This is a big surprise for me because I missed the call for speakers for the Raleigh Code Camp (don't know how but I did) and I didn't think I had a chance to get in but I figured I would try and pull some strings and see if I could sneak in and to great surprise I was able to pull it off with help from Josh Carlisle.  Josh and I used to work together at a past company called TAKE Solutions but since we both departed we haven't seen much of each other unless we bump into each other at a conference or code camp.  The funny thing is that Josh's company (Viewfusion Solutions) and B&R Business Solutions do a lot of business together but he works almost a 100% remotely so we sort of stay in contact but not really (if that makes since).  Enough of my rambling and to the point, so I sent Josh an email several weeks ago about the code camp and asked him to see if he could get me squeezed in since he knew Chris Love from the Triangle .NET User Group.  Well weeks went by without hearing anything and I figured things didn't work out and I wasn't going to have the chance to speak but thankfully I was wrong because I got an email from Josh while I was in NYC.

    For this code camp I'll be doing the same two sessions that I did for the South Florida Code Camp but the STSADM session will be a little bit longer because when I presented last time it was to short by 10 or 15 minutes.  I think I'm going to add a custom command that does something with InfoPath Form Services.  I'm pretty excited about adding the new example because it's going to give me a chance to work with the InfoPath Forms Services API.  The titles and descriptions of each session is listed below and if anybody wants more details please fill free to leave a comment or  send me a email through my blog.

    Session 1 - Creating custom commands for STSADM Utility

    The session walks through creating a Visual Studio 2008 C# Class Project for writing code to extend STSADM Utility and what needs to be done to deploy and have STSADM Utility recognize the new custom command.  Additional time will be spent on how the code is structured and what the debug parameter is used for.

    Session 2 - InfoPath 2007 and Visual Studio 2008

    The session walks through building a new InfoPath 2007 form, Web Service, .NET Class, Workflow and LDAP query with Visual Studio 2008.  The form will call web service on opening and retrieve the current user Active Directory information and State list from SQL 2005 database to populate an InfoPath form drop down list.   A simple workflow will be created and deployed with Visual Studio 2008 for sending an email.

    If you're in driving distance please attend because to my understanding this code camp is going to be slammed full with great content and speakers just like all the other code camps I've attended.  You can register for the code camp at the http://www.codecamp.org/ website.

    Cheers

  • Attending the Office Developer Conference

    This post is a little late because the ODC has started but I've been so busy with my current client that I just hadn't had a lot of time for my blog which is a shame because I really enjoy writing my experiences.  The only reason that I have time now is because I wrote this flying to San Jose and I thought this would be a great time to do it.  I've never attend this conference before it's the first time it was open to the public and I'm hoping that it will be a great one.  I had to choose between this one and the SharePoint Conference in March and I decided on this one because it was going to be broader in scope and I was hoping to expand my knowledge on how to use some of the other office server technologies with SharePoint.  At the South Florida Code Camp the session before mine was on unified messaging and I got to sit in on the last 10 minutes of the session and it really got my interest.  I had actually had signed up for the pre-conference session on unified messaging and I was really looking forward to it but I got a email awhile back saying that it got cancelled because it couldn't find an instructor for it or something like that.  When I got that email I was sort of disappointed but life goes on.  I'm now hoping there will be a couple good sessions on this but I'm not sure because I haven't had a chance to look at the schedule.  Well, I just hope the conference is going to be a good one and get to meet some new people.

    Cheers

  • Adding debug capability to custom STSADM commands for MOSS and WSSv3

    Since my InfoPath 2007/InfoPath Forms Services project has ended you will start to see more posts on my blog about other SharePoint related things and less about InfoPath 2007/InfoPath Forms Services.  My new project is currently in NYC and it will last until March 31st.  The project is a 100% different than my last project and I'm sure I'll be learning a lot of new things for this blog.  This post is from another project that I'm doing on the side and I just wanted to share a small piece of it with everyone.  If you're attending the South Florida Code Camp then you will get the full picture of everything if you attend my second session "Creating custom commands for STSADM with C#".  Later in February I'll also do a couple of posts on my blog to explain more of the details if you can't attend the code camp.

    Ok, enough of my babbling and now to the details of the post.  A few weeks ago I needed to extend the STSADM utility to do a couple of things that it current doesn't have commands for or at least I couldn't find them.  When I built the initial project and deployed the assembly and started to test everything I ran into problems with the code (I wish I could write perfect code).  I struggled trying to get all the code working correctly without having the capability of debugging the code while it ran.  I could have done the old "Console.WriteLine" but I didn't want to go through this approach because I was tired and it would have been way too tedious for me.  This was really frustrating and I decided to figure out what needed to be done to make debugging an option.  I did a little searching but couldn't find anything that helped me (probably not using the correct search words).  When I started to really think about the whole scenario it reminded me about onetime I had to write a Windows Service and I ran into the same type of problem.  To solve that problem I added the "System.Diagnostics.Debugger.Launch" command to my code so I could debug my Windows Service.  So I figured what the heck and I added it to my code and everything complied without a problem.  I deployed the assembly and ran my custom STSADM command and then the Visual Studio Just-In-Time Debugger window popped up as expected.

    Since I had already had the code project open I just highlighted that line and clicked the "Yes" button to debug my code.  If I didn't have the code project already open then I would click "New instance of Visual Studio 2005" and the code would automatically loaded into Visual Studio 2005.  Even if you don't have the code project on the server but have the "obj" folder and all its content then debugging is still possible (at least from my experience it is).  When the debugger is ready your code will have a green arrow next to it like the image below.

    At this point I usually hit the F10 key and then everything changes to the correct colors and everything works as normal. 

    When I got the debugging working with my code it was a lot simpler to see what was wrong with the code.  Then I started to test all the different options for my custom command and the debugger launching all the time started to drive me nuts.  I guess everything is not perfect but then it dawned on me what if I just add a debug option to the command string.  Something like "-debug" and if that's present then launch the debugger.  I thought it could work so I added the extra code to my project to make it happen and compiled everything and moved the assembly into the GAC again.

    I went and tried my command again without the debug option and everything ran like normal and then for the big test I add the debug option and the debugger launched and everything worked just as I hoped.  Now I have complete control when the debugger will launch and I will no longer have the nuisance of the debugger launching every time. 

    This was a great learning experience for me in many different ways but it really helped me open my eyes on making things more functional and user friendly by taking a little extra time to think about what could be done.

    Cheers

  • How to accidently add an assembly to InfoPath 2007 Form and how to remove it

    This is a really old post that never made it because I just totally forgot about it until I read Paul Galvin's post http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!609.entry and I thought it was still worth posting because it's such a common problem and most people don't know that it happens.

    So here it goes;

    The last few weeks I have learned so many things when working with Josh Medero (Jason Medero brother).  Josh has been helping me out with my InfoPath 2007/InfoPath Forms Services project and he has accidently done a couple of things that I've never done or seen before but that's totally cool because it has helped me learn new things about InfoPath 2007 and InfoPath Forms Services.  As you probably already know this post is about another thing that I learned today.

    If you're a developer and have ever worked with InfoPath 2007 forms then you've probably have added a button to the form and have accidentally clicked the "Edit Form Code" button and launched Microsoft Visual Studio Tools for Applications (VSTA) and then closed it because you meant to click the "Rules" button.

    When the VSTA window was closed I would have never have thought it would actually create anything and especially if nothing was saved.  For Josh it created an assembly for the form even though no code was added.  He never knew that an assembly was added to the form and I would have never known it but he was having other issues with his form and he sent it to me to open and preview. When I went to preview the form I got the following warning.

    The reason that I got the warning was because I don't install VSTA on my laptop but VSTO instead.  After I say the warning message it started to get me wandering what was wrong.  First thing that I did was close InfoPath 2007 and then explored the XSN file and noticed it had a dll in it.  After I noticed this I opened the form backup and went into "Tools" -> "Form Options" and clicked "Programming" category.

    The "Programming" category page shows that something was created and once I saw this I just clicked the "Remove Code" button to remove the unwanted assembly.  When I clicked the button the following pop-up came up and I clicked the "Yes" button to remove the code.

    After I did these steps I no longer got the warning message when opening the form and Josh problems no longer existed either.  If you really don't plan to do coding in InfoPath with VSTA then I would suggest not to install VSTA that way this problem doesn't occur accidently.

    Cheers

     

  • South Florida Code Camp now doing 2 sessions

    Just wanted to let everybody know that I am now doing 2 sessions at the South Florida code camp and my second session title is "Creating custom commands for STSADM with C#".  The session goes into the details of extending the STSADM utility and how to debug the code.  The code being reviewed is currently being used in the real world.  I'm pretty excited about doing this session because it's something totally different from my normal subject.  Please come out to the code camp on February 2nd but remember you need to register first.   You can check out the agenda and register from the http://codecamp08.fladotnet.com/ website.

    Cheers

  • Speaking at the South Florida Code Camp on February 2nd

    That's right it's time for the South Florida Code Camp and I'll be down there giving a new session on InfoPath 2007 and Visual Studio 2008.  For this session I'm thinking about changing a couple of things around and doing some really new stuff that includes C# code for updating AD and XMLFormView control for displaying an InfoPath 2007 form.  I'm thinking that the InfoPath 2007 form will be a data entry form that allows users to update their AD information.  I've been thinking about this new presentation for a while and since Visual Studio 2008 was officially released I figured that I should also change up the InfoPath part.  I'm really excited about building the new code and presenting it and after the code camp is over I'll post it on my Code Camp and User Group page.

    All the information about the South Florida Code Camp can be found on the http://codecamp08.fladotnet.com/ website.  From what I heard while at Philly Code Camp from other speakers this code camp is suppose to be as big as or bigger than the Philly Code Camp one.  To see what sessions are currently on tap checkout the agenda page http://codecamp08.fladotnet.com/agenda.aspx.  The code camp is going to have 12 different tracks and that means tons of sessions.  The "SharePoint/ Office" track already has my "InfoPath 2007 and Visual Studio 2008" session and "Utilizing Visual Studio 2008 capabilities for better SharePoint Development Part 1 and Part 2" sessions on tap.  In my opinion this track is already shaping up to be a killer track.

    I'm really excited about this code camp and I'm glad to have the chance to speak at it and I hope to meet some new SharePoint colleagues there to.  Well I'm about all posted out for the night.  Hope to see some of you there.

    Cheers

  • Philly Code Camp was a blast

    Last weekend was the Philly Code Camp and Nas and I had a blast with the other 375 people that attended the event.  The one day extravaganza featured 50 different speakers and in many sessions it was standing room only.  If you work with Microsoft technologies on the dev side and local to the area or in driving distance then I would definitely try to make it out to one of their other two code camps this year.  My InfoPath 2007 and Visual Studio 2008 session went really well I think and I really enjoyed myself.  I would like to thank David Mann for letting me speak and all the other people that put together this great event.

    When at the Philly Code Camp I got to meet a couple other great SharePoint speakers.  After my session I got to speak with Susan Lennon (http://wss.lennontechnologies.com/blog/default.aspx) who did a session on "Using SharePoint Designer to Build a Dashboard-type View of Lists" and got to sit in on the session by Tony Testa (http://www.tonytestasworld.com/) called "AJAX in SharePoint".  Susan and I didn't have a long time to talk but she seemed to be a great person with some interesting experience with SharePoint 2007.  I'm hoping to have another chance to talk with her while out at Office Developer Conference in February.  Dave Mann did his session after mine and it was a great session on you guessed it Workflow and SharePoint.

    As promised my presentation and code solutions are up on my Code Camp and User Group page and I just sent them to Philly Code Camp organizers and should be posted on their site shortly.  If anybody has any questions about the code please fill free to email at ml@(nospam)bandrsolutions.com

    Cheers

  • You must choose a publish location that is different from the source Web application error message when trying to publish a web project with Visual Studio 2005

    When living in the InfoPath and SharePoint world I sometimes don't really get to know how to use some tools that great until I get a stray project that forces me to do things that I normally wouldn't do on a day to day basis.  Recently I've had two projects like that and fortunately for me I've learned a bunch of new stuff that probably most developers learned years ago when the tools were first released.  This post is about me finally figuring out how to switch back from Visual Studio 2005 "IIS Web Server" debug mode to "Visual Studio Development Server" mode.  In Visual Studio 2005 web projects have this properties tab called "Web" and on it you can specify either to run debug from "Visual Studio Development Server" or "IIS Web server" and both of these options have their pros and cons but I'm not going to get into that because that is another blog post if you ask me.  Below is an image of the properties tab Web.

    Usually when I'm starting out on a new project I've always found myself always using the "Visual Studio Development Server" for debugging but once I start publishing my sites to IIS then I usually switch to "IIS Web Server" but one of the biggest problems that I've had was not being able to switch back to "Visual Studio Development Server" mode and successfully publish my code to the desired IIS website.  Whenever I would switch back and try to publish my code to the IIS website I would get this error.

    This error has haunted me for about 2 or 3 projects and I finally got tired of it and started to do some searching to find a fix but was unable to.  So I started messing around with the settings on the Web properties tab and noticed that the "Project Url" and "Override application root URL" textboxes were getting pre-populated and in most cases I was changing the values to point to the IIS website I published to.

    Once I noticed that these values were not being cleared out when I would click on the "Use Visual Studio Development Server" radio button then I decided to clear them out manually and then try publishing again.  When I tried the publishing everything worked and the error went away.  So when you switch back and wan't to use the publish feature but you can't because of the error message, just make sure everything is cleared out and looks like this image below.

    I'm sure everyone in the world knows this but since this was my first I figured I would blog it.  Hope everybody had a great weekend.

    Cheers

  • Using The expression option and XPath statement for comparing two values in InfoPath 2007 Condition statement

    In the post Using InfoPath 2007 Translate function to do what XPath lower-case function does I talked about how to use the “translate” function in a XPath expression box and today I just wanted to continue down the path of using XPath expression box and XPath to compare two values in a Condition statement. In a normal circumstance this would be a very easy thing to do because you would just go select the two fields you want to compare and boom you’re done but what if the two field values are not always the same case. Then what do you do? How do you make everything the same case for both fields? This is a situation that I ran into not long ago and below is how I went about solving the problem.

    Whenever building a condition statement you only have the options of choosing an existing Field, Group or “The expression” for the first dropdown list and in normal circumstances this would be fine. In normal circumstances if I wanted to compare two values and they were not fields already in the data source and they would not be visible fields then I would create a new Group called “HiddenFields” and then add the fields to that group and populate them in an opening rule. An example of the condition statement that I’m talking about is below.

    This works great if all you want to do is a simple comparison and the field values will always be the same text case. As I stated above what if you run across a situation when the text case is going to be different in each field but you still want to compare. You might be thinking that you can use the "Use a Formula" option for each field but unfortunately the "Use a Formula" option is only available for the third dropdown. Below you can see what options are available for each dropdown.

    After looking at the pictures you might have noticed you don't have all the selections available in the first dropdown list that you have in the third one. You're probably thinking that this is going to be very difficult to accomplish but in all actuality it's pretty simple if you use the "The expression" option.

    When using the "The expression" option there are a couple of things that you can do to make your life a lot easier when building the XPath statement. If you first build the formula for the third dropdown list before changing the first dropdown list to "The expression" then it will copy everything you did into the XPath statement. I usually set the second and third dropdown list values before switching to "The expression" option in the first dropdown list. If you do it this way then you should get something like the below image when you switch.

    The formula should look like this.

    . = translate(my:HiddenFields/my:Field2, "ABCDEFGHIJKLMNOPQRSTUVWYXZ", "abcdefghijklmnopqrstuvwyxz")

    The formula is now 2/3 the way done and now all we have to do is build and add the formula for the first field. The easiest way to do it for this example since the fields are in the same "Group" is to copy the current formula and replace the "." with it and then change the "my:Field2" text to "my:Field1". You might be saying that field box is too small and you wish you had more room to view the formula. If that's the case then open "Notepad" and do all you're editing in there and then paste it back into the field when you're done. At the end the condition box should look like the image below.

    The formula should look like this.

    translate(my:HiddenFields/my:Field1, "ABCDEFGHIJKLMNOPQRSTUVWYXZ", "abcdefghijklmnopqrstuvwyxz") = translate(my:HiddenFields/my:Field2, "ABCDEFGHIJKLMNOPQRSTUVWYXZ", "abcdefghijklmnopqrstuvwyxz")

    Having the flexibility to add a formula to your fields when you compare them should open your world to a lot of new options.  Well it's time for me to get back to work and start preparing for my next gig that starts next week.  I'm pretty excited about this one because it sounds like I'll be doing a lot of cool SharePoint development work.

    Cheers

  • Code Camp and User Group presentations and code projects

    Over the last few months I've spoke at 4 different events and have really enjoyed myself but I hadn't got around posting my presentations and code projects because other things kept me busy and I kept forgetting to.  This week I'm at home finishing up some code projects and have found some extra time to spend on my blog and catching up on other things.

    Today I got around adding a new page to my blog for the presentations and code projects and just a few minutes ago uploaded all my presentations.  You can find them at http://www.sharepointblogs.com/mdlotter/pages/code-camp-and-user-group-presentations.aspx and later this week I'll add my code projects to.  I've really enjoyed speaking at these events and meeting a lot of new people.  I'm hoping that I'll have a lot more entries on this page this year and mean years to come.

    Cheers

  • Visual Studio 2008 VSTO and InfoPath 2007 error when trying to run debug

    On Saturday when I was adding my finishing touches to my demo for the Philly Code Camp I ran into an error with Visual Studio 2008 VSTO and InfoPath 2007. Whenever I tried to run my InfoPath 2007 form in debug mode I got the following error.

    "Microsoft Office InfoPath does not recognize some or all of the command line options. Exit and restart Microsoft Office InfoPath with the correct command line options"

    When I discovered this error and found out that it happened with a brand new project my heart started to beat a little faster (ok lot faster) because I knew the pressure was on to fix the problem before my session started. I started to do searches on the internet and I couldn't find any answers and then I did one final search and I found some link that talked about a similar error with Visual Studio 2008 Beta 2 and another office application. It mentioned about updating Office 2007 with a patch to fix the error. After reading that I looked at the version I was running and notice that I wasn't running SP1 for Office 2007 and decided to install that and see if it would fix the error. Luckily I had internet access at the code camp and started the download and about 30 minutes later I got it downloaded and installed. Then I crossed all my fingers and toes and tried the debug mode again and it worked. By installing SP1 for Office 2007 fixed the problem. I'm sure there will be many more little things pop-up and if I run into them I'll be sure to post them.

    By the way Philly code camp rocked the house and I'm glad that I got a chance to speak.

    Cheers
  • Speaking at Philly Code Camp on January 12th

    The Philly.Net Code Camp is coming up on Saturday, January 12th at DeVry University in Fort Washington, PA and I'm happy to say that I will be giving a presentation at the event.  The presentation is titled "InfoPath 2007 with Visual Studio 2008".  The session walks through building a new InfoPath 2007 form, Web Service, .NET Class, Workflow and LDAP query with Visual Studio 2008.  The form will call the web service on opening to retrieve the current user Active Directory information and State list from SQL 2005 database to populate an InfoPath form drop down list.   A simple workflow will be created and deployed with Visual Studio 2008 for sending an email.  This presentation will cover more details than what I usually do and it will all be using Visual Studio 2008 and not 2005.  Information on attending and a list of all the tracks for the code camp can be found at http://www.philly.net.

    In my opinion the Office track is jammed pack with great sessions and we have Bob Fox doing a session on SharePoint Disaster Recovery and Backup (Wow can't what to see what type of code Bob has).  A full list of all the Office sessions is listed below.

    David Mann - Delivering Modular SharePoint Workflow Functionality via Components
    Bob Fox - SharePoint Disaster Recovery, Backup and more...
    Tony Testa - AJAX in SharePoint
    Michael Lotter - InfoPath 2007 with Visual Studio 2008
    Russ Basuira - Programming Composite Applications that use the SharePoint Business Data Catalog
    Gary Blatt - Using OpenXML to Access Excel and other Office 2007 Files

    I'm really excited about this opportunity because it gives me another opportunity to meet new people and to work on my speaking and presentation skills.  The last 2 code camps were a blast and I'm sure this one will be to, please come out and join us for a great time talking about writing code (things we love to do) and meeting new people.

    Cheers

  • Happy Holidays!

    Just wanted to wish everybody the best over the holidays.

    Cheers

  • Using InfoPath 2007 Translate function to do what XPath lower-case function does

    Several days ago Joe and I found ourselves wanting to make sure we made the InfoPath “UserName()” function return all lower case characters and we decided to use the common XPath function “lower-case” but was surprised because it didn’t work. With a little research I found that we could use the InfoPath “Translate” function instead. I must say that it’s a little frustrating that some common XPath functions don’t work and you have to find the work around but if you do any InfoPath development you come accustom to it. Below is what we tried that didn’t work and what we did that did work.

    What didn’t work: lower-case(xdUser:get-UserName())

    What did work: translate(xdUser:get-UserName(), “ABCDEFGHIJKLMNOPQRSTUVWYXZ”, “abcdefghijklmnopqrstuvwyxz”)

    Basically for “Translate” we had to specify every letter in the alphabet in UPPERCASE and then lowercase to make sure every character will get translated. For more information on “Translate” checkout this link http://office.microsoft.com/en-us/infopath/HA012330391033.aspx and do a search for “Translate” for the official description (It’s towards the bottom of the page).

    If you foresee yourself using this more often then something to consider is creating a “Template Part” for this. It would be very simple because it would have two fields one called “translate_uppercase” and another “translate_lowercase” and each field default value would be the alphabet in the correct case. Then whenever you would want to use the “Translate” function you would add the “Translate Lower Case Template Part” to the form and build the expression as translate(fieldname, translate_uppercase, translate_lowercase). This would be a lot simpler than typing in all those letters and if you have more than one person doing InfoPath development it would create a standard way of doing it.

    Cheers

  • Using the iisapp command to get the Process ID for the correct w3wp process for Visual Studio debugging when doing SharePoint, Workflow or InfoPath development

    I'm sure this is posted in a 100 different spots but I just learned about it before I went on vacation and wanted to share it.  It has never really bothered me at guessing which w3wp.exe process to use for debugging SharePoint code but when I was working with Joe (new guy) he saw what I was doing and he told me there was a lot easier way of identifying the w3wp process.  He said just open a command prompt and type in "iisapp" and it will list all the Application Pool processes with the process ids.  I took his advice and sure enough it gave me everything I needed to choose the correct process from the Visual Studio "Attach to Process" screen.  If you don't really know what I'm talking about then below is details on how to do it.

    For me there are times when I'm developing with InfoPath or SharePoint and I need to create some code (Workflows, Web parts, ...) that runs part of the w3wp process and running it in debug mode from Visual Studio is not possible and you will have to deploy the code and then attach the Visual Studio project to the w3wp process that its deployed for stepping through the code.  For example, recently I had to create a new SPD Workflow Action to send out emails with a "From Address" that can be specified and to use the SharePoint SMTP property that's set in Central Admin.  To do this I had to create a new Workflow Activity Library project and this project type can't be run in debug mode from Visual Studio (if I'm wrong about this please correct me).  To debug the code in this project you have deploy it first and then attach your Visual Studio project to the w3wp process that it runs in and then do something from SharePoint or InfoPath that will execute the deployed code.  To attach the Visual Studio project to w3wp process you can either click "Debug->Attach to Process" or "Tools->Attach to Process" menu combination and then the "Attach to Process" screen will appear.

    Then you will need to select the w3wp process that your code is running in.  If you develop on a SharePoint server then you will almost always have more than one w3wp process to choose from.  This is where the "iisapp" command helps out.  If you open a command prompt and type "iisapp" then it will list all w3wp process (Application Pools) running with some details.

    This list should give you enough information to choose the correct w3wp process from the "Attach to Process" screen.  Click the entry you want and then click to the "Attach" button to attach to it.  Now set your break point and then do something from SharePoint or InfoPath that will execute the code.

    I'm sure this was a big repost for most people and I'm sorry for that but I just wanted to share what I learned that way it may help someone starting out with SharePoint, Workflow or InfoPath development.

    Cheers

  • NJSPUG Meeting Details for December 19th

    The NJSPUG has launched a new website at http://nj.sharepointgroups.org/default.aspx and all the details and future details of user group meetings can found here.  As I previously mentioned that I'll be speaking at the December 19th meeting and all the details are below.  Hope to see you there.

    NJ SHAREPOINT USER GROUP: 

    Wednesday, December 19

     https://www.clicktoattend.com/invitation.aspx?code=121800

      Creating InfoPath 2007 forms with InfoPath Forms Service for the enterprise

     

    Guest Speaker: Michael Lotter MCP, MCTS

    SharePoint Solutions Architect |

    B&R Business Solutions, LLC

    "With the new version of SharePoint and InfoPath being officially released this year the concept of building and using e-forms in the enterprise has officially become a reality by using InfoPath 2007, InfoPath Forms Services and SharePoint 2007 Enterprise.  This presentation will describe how to use InfoPath 2007 and InfoPath Forms Services (part of SharePoint 2007 Enterprise) to accomplish this with your existing or new SharePoint 2007 Enterprise installation. A demo will be given to show how to build and publish an InfoPath 2007 form to InfoPath Forms Services and how to active the forms from InfoPath Forms Services to a Site Collection."

     AGENDA:

    5:30 PM EAT + GREET
    Networking, Free Food/Drink

    6:00 PM Guest Speaker

    "Creating InfoPath 2007 forms with InfoPath Forms Service for the enterprise"

    6:45 PM  WRAP UP
    discussion, prize giveaways

     

  • Back from vacation

    Heather and I just got back from a 2 week vacation in Dominican Republic and we had a great time. Heather wanted to stay longer but I was ready to get back and somehow convinced her to get on the plane for home. I'm not that much of a beach and ocean person but still had a great time do to the friendly people at the resort in Punta Cana and citizens of Santo Domingo. We only stayed 4 days in Santo Domingo and were unable to see everything but hopefully will have a chance to go back in the coming years to see everything else. Heather and I took some pictures while we were on vacation and when I get a chance I'll upload them to the net.

    Cheers

  • Great time at the Nova Code Camp

    The Nova Code Camp has come and gone and so has the Thanksgiving holiday.  Nas and I had a great time at the Nova Code Camp and we can't wait for the next one. It was a really good code camp for me because I got to meet some great new people and my session seemed to go really smooth and I have spotted some new areas where I can approve my code demo. The whole code camp thing is still really new to me and before going to them I was fearful that I wouldn't enjoy them but so far I've been totally wrong. Speaking and attending these code camps have given me the ability to open my mind and view things differently. It has also given me a new perspective on InfoPath and SharePoint and how to approach and tackle problems that I have in the work place. Overall it has been a great experience and I can't wait to continue down this path and see what else comes from it. At some point the presentations will be added to the http://novacodecamp.org/ website and if you have any interest in what happened I would definitely go check them out.

    While at the code camp I got to meet Jeff Schoolcraft (http://thequeue.net/blog) the guy that organized the event and we had some great conversations about many different topics. During one of the conversations he mentioned http://www.community-credit.com/ website and I told him that I never heard of it before and he said that I should check it out. The next day I did and I must say that it's a pretty interesting site and I thought it was worth passing along.

    Since the Nova Code Camp is over I've started getting ready for the NJ SharePoint User Group meeting that I'll be speaking at in December. The presentation will be a little different than the code camp presentation because I was told that I should focus more on slides and content then code but I'll still be talking about InfoPath, InfoPath Forms Services and SharePoint. Once I get the official date and time from either Jason Medero or Bob Fox then I'll pass it along but I do know that it's in the third week of December and I'm pretty sure it's on Wednesday. Hope to see some of you there.

    Cheers

    Posted Nov 26 2007, 09:29 AM by mlotter with no comments
    Filed under:
  • Why the text on my InfoPath form is so large

    Thursday was another good day because there were several things that reminded me of things that I already knew but hadn't blogged about.  Anybody that works with InfoPath knows or should know that InfoPath is tightly integrated with IE and the below details is one example of this.

    In the last post I mentioned that I was working with a new guy that will be taking over my work and whenever he opened a form in "Design Mode" his form text looked so much larger than mine and at times his text would wrap and mine wouldn't.  This morning it bothered me enough that we looked at what the problem was and we discovered that it was "Text Size" IE setting.  Below images of the same form but if you look really close you will notice that the labels are different sizes.  This is caused by the "Text Size" menu option being set at different levels.

    When we changed the "Text Size" menu option to be the same as mine then the forms looked identically the same.  To change the text size in IE 7 click Page menu button next to Tools and then navigate down to Text Size and below is a screen shot of the Text Size menu option.  The second image is another example of getting to the same menu option and is pretty close on how to do it with IE 6. 

    This situation will most likely stay with me for a while because it will be something that I will want to tell future clients to watch out for because it could truly be an issue help desks would need to watch out for.

    Cheers

  • InfoPath Form Template Part data source appending to existing Main data source instead of replacing

    This week I started cross training a client employee on what I’ve been doing for the past 5 months because I’m leaving the project soon and start to look for a new project. Yesterday during our first session we discussed InfoPath Template Parts and how to build them and use them with existing InfoPath Forms. One thing that was brought to my attention again was how it interacts with an InfoPath Form when an existing control is being updated. When I discovered this the first time I forgot to blog about it but this time I didn’t want to pass up the opportunity because I think it’s pretty important to understand if you are going to use InfoPath Template Parts.

    When building a new InfoPath Template Part you define the data source and then design the template part or you design the template part and let that define your data source. Once done you save it and then add it to the InfoPath designer when a form is being designed. At that point you then add it to the form and it magically appears and the new fields are added to the data source. All that is the straight forward stuff but now things start to get a little more complicated when you go back and modify the template part. If you go back to the template part and make a visual change (meaning not adding a new control that updates the data source) and save the changes and add it back into the InfoPath designer and update the existing control on the form everything works just fine. Now if you were to update the same template part but add a new control/field and save the changes and add it back into the InfoPath designer and update the existing control on the form everything appears to work just the same but it actually does one extra thing, it appends all the fields to the main data source again with the new one.  Logically you would think it would just update the existing structure with the new field but it doesn't.  If you’re not paying attention this could cause some major problems if things are not cleaned up. To clean things up just delete the original fields and then move the new fields to the location of the original fields and rename the new fields to the names of the original fields (sorry that’s so confusing).  It's pretty easy to do because InfoPath should have only added "_1" to the end of the new fields or the next number available.  If you don’t do the clean up then any existing data will still reference the original fields and won’t show up on the form because the form now points to the newly appended fields. This is sort of messy but I’m sure it’s done this way to preserve the original structure just in case it’s needed. That’s the only logical reason that I can think off at this point.

    After writing this I sort of think the reason for not doing it before is because it’s so confusing to understand the situation without physically seeing it. With that being said I’m thinking about buying some capture software to create a video of what I’m talking about and hope this will give more clarification of what I’m talking about.

    Cheers

  • Unrecognized namespace ASP and The language referenced by the Language attribute is not supported by Visual Studio IntelliSense

    Today was one of those days when you need everything to go smooth but things don’t. The morning started out really well and I was making great time writing new code on my IBM ThinkPad T61 Vista machine and then I needed to transfer my ASP.NET 2.0 Ajax projects over to my VPC image to integrate my SharePoint custom web service and WMI code and that’s when nothing worked correctly and my day basically started to waste away. The VPC image is fairly new but I thought it was in good working condition because that’s where I had built and tested successfully an ASP.NET Web Service project but not true. When I moved over all my ASP.NET 2.0 Ajax projects and tried to open them that are when things started not to work. The first problem I had was not being able to open my projects correctly but that was an easy fix because I just installed the ASPAjaxExtSetup.msi file (ASP.NET Ajax 1.0 Extensions) but the problems that I had after that was what took so long to fix.

    The projects that I copied over and opened or any ASP.NET projects created from the VPC image had the below error messages. The error messages only showed up and prevented me from compiling when I was in HTML Source view. If I was in the Design View everything would compile and publish but the only Toolbox that I had was HTML.

    Error 1:

    The language referenced by the Language attribute is not supported by Visual Studio IntelliSense and statement completion. Changing the language name when the file is open requires that you close and re-open the file

    Error 2:

    Unrecognized namespace ASP

    I’ve never seen the error messages before and when I went searching the internet I couldn’t find anything that helped me solve the problem. Then I started comparing what products were installed for each Visual Studio 2005. You can do this by opening Visual Studio and then clicking Help->About Microsoft Visual Studio and looking in the Installed Products textbox. To make things easier I clicked the Copy Info button and pasted everything in notepad. After doing a little comparison I noticed that “Microsoft Visual Web Developer 2005” was installed on my Vista version but not on my VPC image but everything else looked the same except for the Vista specific patches. Since that was the only major difference I decided to install the missing product on my VPC image and 30 to 45 minutes later the install was done but now when trying to open the projects I got error message saying the projects were unsupported with the installed version. This was an easy one; I just needed to install SP1 for Microsoft Visual Studio 2005.

    I found the SP1 for VS 2005 and started the installation and everything was going great and it was almost done and then a new error came up saying it ran out of virtual memory and gave me the below error message and link.

    Error 1718: File name of file was rejected by digital signature policy.

    http://go.microsoft.com/fwlink/?LinkId=73863

    This error message seemed pretty familiar but when I looked through all my notes and blog posts I couldn’t find anything which surprised me a little because usually I write things down so I don’t have to trouble the same problem more than once. Enough about that and back to the error, I took the advice of the article and downloaded the Windows 2003 Server patch and installed it on the VPC image and then reran SP1 for VS 2005. An hour later the installation finished without any errors (hooray!) and then when I opened the projects all the errors were gone and everything appeared to be working correctly. This was a crazy mess but I’m just glad that I was able to fix it and didn't have to rebuild the VPC image.

    Lesson learned for me this time around is to make sure “Microsoft Visual Web Developer 2005” gets installed when building a VPC image. I’ll remember this because I’ll be building a new one this month once Microsoft Visual Studio 2008 is officially released. I saw a demo of the product at Dev Connections and it looks really impressive and the CSS and JavaScript support looks really nice.

    Hope everyone has a good weekend and if you’re in the Reston, VA area come out to the Nova code camp on Saturday, November 17th and hang out with everyone for the day. Some of the sessions look killer and I can’t wait to attend some and speak at mine. Below is a link to the website and it has all the information that you need.

    http://novacodecamp.org/

    Cheers

  • Speaking at Nova Code Camp on November 17th

    The Nova Code Camp is coming up on Saturday, November 17th in Reston, VA and I’m happy to say that I will be giving a presentation at the event. The presentation is titled “Pre-populating Active Directory User Information InfoPath 2007 and C# and create a workflow with SharePoint Designer for routing”. This is the same presentation that I did at South Carolina Code Camp but I’ve modified it from the feedback that I got from the South Carolina Code Camp. The presentation is based off work that I did for recent project. Information on attending the code camp can be found at http://novacodecamp.org/.

    I’m really excited about this opportunity because it gives me another opportunity to meet new people and to work on my speaking and presentation skills. My big dream is to get enough practice at speaking and then try to do one of the bigger conferences. Writing and speaking skills have always haunted me since being a little kid but I’m determined to improve these skills and have them as assets.

    The last code camp was a blast and I’m sure this one will be to, please come out and join us for a great time.  Hope to see you there.

    Cheers

  • Speaking at the New Jersey SharePoint User Group meeting in December

    After having such a great time at the South Carolina Code Camp I decided to look for other speaking opportunities to share my knowledge on InfoPath 2007, InfoPath Forms Services and SharePoint 2007 and since I've been in Newark/New York area I decided to talk with Jason Medero and Bob Fox to see if they could hook me up at either New York or New Jersey SharePoint user group.  After submitting a proposal I got accepted for the New Jersey SharePoint user group meeting and will be speaking at the December meeting.  I'm really excited to have this opportunity but little nervous because it will be my second speaking opportunity but I'm sure it will go just as smooth as previous one.  I'll be speaking on InfoPath 2007, InfoPath Forms Services and SharePoint 2007 and below is a description of what then presentation will be on.

    With the new version of SharePoint and InfoPath being officially released this year the concept of building and using e-forms in the enterprise has officially become a reality by using InfoPath 2007, InfoPath Forms Services and SharePoint 2007 Enterprise.  This presentation will describe how to use InfoPath 2007 and InfoPath Forms Services (part of SharePoint 2007 Enterprise) to accomplish this with your existing or new SharePoint 2007 Enterprise installation. A demo will be given to show how to build and publish an InfoPath 2007 form to InfoPath Forms Services and how to active the forms from InfoPath Forms Services to a Site Collection.

    After submitting the proposal description and being accepted I found out that somebody else is already speaking at the New York SharePoint user group meeting in November on the same subject and I'm hoping that they won't be to similar to each other.  I would change it around a little if I could attend the meeting in November to see what he is actually talking about but unfortunately I'll be at the Dev Connections conference in Las Vegas that week.  Jason said not to worry about it and just do my thing and everything will be fine.

    Josh Carlisle a co-worker from Raleigh will be speaking at the December New York SharePoint user group meeting.  I'm not sure what he will be talking on but whatever it is it should be great.  I saw him speak at the South Carolina Code Camp on SharePoint development and it was outstanding.

    Cheers

More Posts Next page »

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts