In the last week Fredrick wrote about the MVP pattern and controllers etc, he also wrote about his old page workflow framework. But if you want something similar and also want to use controllers/presenter then take a look at the Web Client Software Factory from the Patterns & Practices team. It will help us build really cool web apps. The Web Client Software Factory have a page flow Application Block that can be used to create a page flow (similar to fredrick framework, but the Page Flow Application Block use .Net .3.0’s Workflow foundation and don’t support Shared transitions between different page flows.). But most of you probably already have .Net 3.0 installed (you can download it here).
Pass parameter to Infopath 2007 browser forms using Business Data Catalog
April 30, 2007Last week, I got an excellent oppurtunity to work with Infopath 2007 and Business Data Catalog(BDC). As per requirement, need to pass employee personal information id to infopath forms. Infopath form should pre-populate data from DB based on PersonalInfoID from Querystring. Whether i pass a parameter to a form file in InfoPath 2007 or the Web browser, first i need to update the form template’s Loading event. The LoadingEventArgs class of the Loading event provides the InputParameters property. This property gets an IDictionary object, which contains any input parameters that are specified in the URL that is used to start a form file. Next, use the TryGetValue method of the IDictionary object that was returned by the InputParameters property to retrieve a parameter value. Then, use the SetValue method on an XPathNavigator object to set the corresponding node value in the form file. The following example sets the Employee Name box to the value based on PersonalInfoID parameter that was passed in the URL that was used to start the form. public void FormEvents_Loading(object sender, LoadingEventArgs e) {
string personalInfoId = string.Empty;
try {
e.InputParameters.TryGetValue(“PersonalInfoID”, out personalInfoId);
} catch (Exception ex) {
personalInfoId = ex.Message.ToString();
} finally {
…do some db calls…
MainDataSource.CreateNavigator().SelectSingleNode (“/my:myFields/my: Name”, NamespaceManager).SetValue(customerId);
}
}
Next, I must update the Business Data Catalog metadata file to include a custom action. So I’ve added as follows, which adds a custom action to the existing Employee entity (before the </Entity> end tag) that starts the status report form in the Web browser with a PersonalInfoID parameter.
<Actions>
<Action Name=”Status Report” Position=”1″ IsOpenedInNewWindow=”true” Url= “<i>My MOSS Server</i>/_layouts/formserver.aspx?xsnlocation= /formservertemplates/statusreport.xsn& openin=browser&PersonalInfoID={0}”>
<ActionParameters>
<ActionParameter Name=”personalInfoID” Index=”0″/>
</ActionParameters>
</Action>
</Actions>
Now, if I would like to add save location(which user can save the form after submited to DB) as follows
http://mossserver/Employee Info/HR Response/Credit Response/Check In/_layouts/FormServer.aspx?XsnLocation=http://mossserver/FormServerTemplates/StatusCheck-In.xsn&SaveLocation=http://mossserver/Employee Info/HR Response/Credit Response/Check In /Personal CheckIn&Source=http://mossserver/Employee Info/HR Response/Credit Response/Check In /Pages/default.aspx&DefaultItemOpen=1 - Kindly note that, I’ve long URL which more than675 characters. If we would like to add this URL into our custom action, BDC services turncated longest URL because of MaxLength.Now, how we can resolve this problem? – I got an idea, why don’t to apply URLMapping functionality to this scenario. So finally I’ve added URL Mapping element to Web.Config as follows: <urlMappings>
<add url=”~/sample.aspx” mappedUrl=”~/_layouts/FormServer.aspx?XsnLocation= /FormServerTemplates/StatusCheck-In.xsn&SaveLocation= /Personal CheckIn&Source= /Pages/default.aspx&DefaultItemOpen=1&Perso nalInfoID={0} ” />
</urlMappings>
Ahrr….Finally, we solved the problem by adding URL mapping. Hatzz off to ASP.NET team J
Also, here’re some pointer really help me to solve this issue.
http://msdn2.microsoft.com/en-us/library/bb406004.aspx
http://wm.microsoft.com/ms/msdn/office/2007officevisualhowtos/infopathparameters.wmv – Excellent videocast regarding this context
XML Notepad 2007 for BDC XML Definition?
April 20, 2007One of the hurdles in BDC development is creating XML Metadata Definition file. Microsoft has not yet provided any tool to create XML Definition file – But lot of third party products (like MetaMan) available to create XML Definition file for BDC applications. But it can’t satisfy our BDC thrist! – If you folks would like to create it by yourself using any XML tools, then obvisouly you need to go for XML Notepad 2007. It is really wonderful tool to create/customize XML files. Which provides a simple intuitive User Interface for browsing and editing XML documents, one of the biggest new feature is IntelliSense, which is driven by XML Schema information provided via the SchemaCache. For example, if your element or attribute is defined by an XSD simpleType and this simpleType contains a list of enumeration facets, then you can select it from a drop-down.
Screenshot:
Excellent design from Microsoft Team(Chris) - See XML Notepad 2007 Design for information about how this application is built. The downloadable installer for version 2.3 is available.
Essential ToolBox for .NET Developers
April 14, 2007I got a chance to work on following awesome tools. So, I would like to share my experience and tips using these tools.
However, there are a number of third-party SQL query editors that offer the features developers today take for granted. One such product is ApexSQL Edit version 2005.03, by ApexSQL. ApexSQL Edit boasts a number of time-saving features, the most impressive one being the Object MemberLists, which provides functionality much like IntelliSense. Type a query, like “SELECT * FROM…”, and immediately a drop-down list appears listing the database’s tables. This feature also extends to columns, variables, parameters, procedures, and so forth. Once you start writing queries using MemberLists, having to go back to an editor without it feels like running underwater. This feature alone could save you countless keystrokes and typos and makes ApexSQL Edit an interesting tool for any developer’s toolbox.

Source Control : Microsoft has long offered developers Visual SourceSafe®, which was last upgraded with the Visual Studio 2005 release. Now, with Visual Studio Team System, Microsoft has released another source control tool, one designed specifically for supporting much larger developer teams.
One such popular open-source offering is Subversion version 1.4.2. Like other such tools, Subversion provides a centralized repository for storing source code and maintains a history of changes. Subversion can be configured to support access to its repositories through HTTP and HTTPS, enabling remote developers to interface with the source code repository. And Subversion also supports both the “check-in, modify, check-out” and “modify and merge” workflows.Fortunately, an additional open-source project-TortoiseSVN-provides a more user-friendly, graphical interface, although there is no Visual Studio integration. However, TortoiseSVN is integrated with the Windows shell. Once you have established a working directory for a particular Subversion repository, you can lock, merge, update, diff, or view statistics for any file by right-clicking on it in Windows Explorer and choosing the appropriate option from the TortoiseSVN context menu. Don’t let TortoiseSVN’s lack of Visual Studio integration dissuade you from considering Subversion. In fact, soon after I started using Subversion, I found the Windows shell to be a more intuitive interface for working with the underlying source control system than the Visual Studio IDE.
Regular Expression Editor: For developers new to regular expressions, the mishmash of text and special characters can quickly lead to incomprehensible gobbledygook. When creating a regular expression pattern in code using Visual Studio®, there’s no tool support. Gone are color syntax highlighting and IntelliSense®, and there’s no easy way to debug or test a regular expression pattern within Visual Studio. For more information, please have a look at Roy Osherove’s (weblogs.ASP.NET/rosherove) toolbox(tools.osherove.com)
Ajax Development with ASP.NET – Nikhil Demo at JAOO
April 14, 2007Nikhil Kothari (is the architect of ASP.NET Ajax, part of the Web Platform and Tools team at Microsoft) demonstrates the out-of-box features in ASP.NET Ajax can be used to enrich Web apps with Ajax functionality and incorporate various Ajax patterns in a simple manner; he also demonstrates more powerful usage of the script framework, best practices and design patterns for incorporating and encapsulating script functionality. Nikhil led the development of the page framework and several of the controls in the ASP.NET toolbox today. Here you got a go for his demo and presentation. http://www.infoq.com/presentations/ajax-with-asp-atlas-nikhil-kothari;jsessionid=494580136D216A7815F708221F1AF103
IBM supports .NET development with Rational Toolset
April 12, 2007Wow! - IBM is now offering something called the Rational Modeling Extension for .NET for pieces of its Rational software development portfolio. Philosophically, this is the replacement for Rational Rose XDE, the well-regarded UML tool for .NET from IBM, that (I believe) IBM discontinued, as well as Rational Rose Developer for Visual Studio. The Extension for .NET adds on to Rational Software Modeler or Rational Systems Developer.
IBM says:
The UML 2 modeling capabilities available for use with IBM Rational Modeling Extension for Microsoft .NET software include object diagram support (new in V7) and extended capabilities for modeling activities, composite structures, components, interactions (sequence and communication diagrams) and state machines-in addition provide use-case, class and deployment diagramming capabilities.
Enterprise Search Architecture in SharePoint Technologies 2007
March 28, 2007One of the most important features in MOSS 2007 Search functionality. Today, i gonna just breif about those feature and functionalities here., Search in Microsoft Windows SharePoint Services, Office SharePoint Server 2007 for Search,and Enterprise Search in Microsoft Office SharePoint Server 2007 are all based on the same Microsoft Search core indexing engine, ensuring consistent search across Office SharePoint Server 2007 and Windows SharePoint Services 3.0. However, there are differences among the SharePoint search versions. The following table provides a comparison of features among Search in Microsoft Windows SharePoint Services, Office SharePoint Server 2007 for Search, and Enterprise Search in Microsoft Office SharePoint Server 2007. Comparing Search Versions document from SharePoint Server 2007 SDK on MSDN. These three products have differences of implementation with relation to the following characteristics:
- What can be indexed
- Rich, relevant results
- Alerts, RSS, Did you mean? and Collapsing of duplicates
- Best bets and Results removal, Query reports
- Search
Center / Tabs - People search and Knowledge network
- Business Data Search
- Query Web service
- Security trimming of search results
- Query syntax
- APIs
The architecture of search service is composed for many components (shows on Figure 1), and its important to say that Enterprise Search uses the same underlying Search service as Search in Microsoft Windows SharePoint Services.
Following are the components of the Search service’s architecture. (from Enterprise Search Architecture)· Index Engine: Processes the chunks of text and properties filtered from content sources, storing them in the content index and property store.· Query Engine: Executes keyword and SQL syntax queries against the content index and search configuration data.· Protocol Handlers: Opens content sources in their native protocols and exposes documents and other items to be filtered.· IFilters: Opens documents and other content source items in their native formats and filters into chunks of text and properties.· Content Index: Stores information about words and their location in a content item.· Property Store: Stores a table of properties and associated values.· Search Configuration Data: Stores information used by the Search service, including crawl configuration, property schema, scopes, and so on.· Wordbreakers: Used by the query and index engines to break compound words and phrases into individual words or tokens.
Developers can use these components through Search SQL Syntax (WSS) or Enterprise Search SQL Syntax (MOSS), APIs (Object Model – WSS and/or MOSS) or XML Web Services provided by WSS and MOSS.
AJAX Papers – Scene behind RADAjax
March 27, 2007I was wondering on how telerik(RADAjax) controls working, it’s pretty well designed architecture, finally i got an awesome paper from telerik blog! – Here’s you gatta go for it!
How Does RadAjax Do It?
When you execute an Ajax callback using RadAjax (or any RadAjax based controls, such as RadGrid), the framework performs these major actions:
The step in this process that handles updating the page controls is obviously “Update Controls HTML”. If we look at the step in detail, we see it performs the following steps: 
Basically, RadAjax takes the collection of updated controls returned from the server (as defined in your RadAjaxManager or as contained in your RadAjaxPanel) and systematically removes the old version from the page and inserts the new version. To do this, RadAjax must know where a control is located on a page (determined by looking at an element’s parent and nextSibling). Optimizing your updates to minimize these page searches is one of the key ways you can improve your
Ajax performance.Also, they clearly explained how memory leaks can be reduced in the IE. Worth to read it!
Excellent article on Event Handlers in MOSS 2007
March 26, 2007Brian Wilson has started a nice series on event handlers in MOSS 2007, episode#1: Everything you need to know about MOSS Event Handlers. He clearly mentioned about eventlisteners as well as types of event handler(Synchronous Vs Asynchronous).
Free AJAX e-Books
March 26, 2007Folks, If you’re really looking for ebooks for AJAX related stuff. Then here’s you gatta go.
AJAX Related eBooks
- Advanced Rails AJAX techniques (Apr.2006).pdf
- Ajax – Art Of Java Web Development – Struts, Tapestry, Commons, Velocity, Junit, Axis, Cocoon, Internetbeans, Webwork (2005).pdf
- AJAX Basic.pdf
- Ajax – Building web applications.pdf
- AJAX.Creating.Web.Pages.with.Asynchronous.JavaScript and XML Prentice.Hall.Aug.2006.chm
- Ajax For Dummies (2006).pdf
- Ajax for Dummies [Holzner].pdf
- Ajax Hacks – B. Perry – O’Reilly – 2006.chm
- Ajax Hacks.pdf
- Ajax Hacks – Tips & Tools For Creating Responsive Websites (2006).chm
- AJAX In Action(1).pdf
- AJAX In Action(2).pdf
- Ajax – In Action.pdf
- AJAX In Action.pdf
- Ajax In Action PocketPC.pdf
- Ajax Patterns and Best Practices – C. Gross – Apress – 2006.pdf
- Ajax Patterns and Best Practices eBook.pdf
- AJAX & Rich Internet Applications.pdf
- Ajax Tutorial.pdf
- Ajax using XMLHttpRequest and Struts.pdf
- Apress – Ajax Patterns and Best Practices (Feb 13, 2006).pdf
- Apress.Ajax.Patterns.and.Best.Practices.Feb.2006.pdf
- APress – Beginning Ajax with PHP – From Novice to Professional – Oct 2006.pdf
- Apress.Beginning JavaScript with DOM Scripting and Ajax From Novice to Professional.Jul.2006.pdf
- Apress – Beginning Javascript With Dom Scripting And Ajax – From Novice To Professional.pdf
- Apress.Beginning.XML.with.DOM.and Ajax From Novice to Professional Jun.2006.pdf
- Apress – Beginning XML with DOM and Ajax – From Novice to Professional.pdf
- Apress – Foundations of AJAX – 2006.pdf
- Apress – Foundations Of Ajax Small.pdf
- apress.Foundations.of.Atlas.Rapid.Ajax Development with ASP.NET 2.0.2006.pdf
- APress Foundations of Atlas Rapid Ajax Development with ASP.NET 2.0.pdf
- Apress – Pro Jsf And Ajax Building Rich Internet Components – Feb 2006.pdf
- Apress.Pro.JSF.and.Ajax.Building.Rich.Internet Components Feb 2006.pdf
- backbase ajax Manual.pdf
- Beginning Ajax with ASP.NET.pdf
- Beginning AJAX with PHP–From Novice to Professional.pdf
- Beginning Google Maps Applications with PHP and Ajax – From Novice to Professional CH3_Sample.pdf
- Bring your website to live with AJAX and DHTML.pdf
- Building Rich Internet Applications with Ajax.pdf
- Cleaning your website with Ajax – Creating Next-Generation, Highly Dynamic, Off-line Capable Web Applications with HTML and JavaScript.pdf
- E-Book Dhtml Ajax Sample.pdf
- (ebook) ppt – AJAX & Rich Internet Applications.pdf
- Foundations_of_Ajax.pdf
- Head Rush Ajax – ch01.pdf
- JDJ_JAVA_DEVELOPER_JOURNAL_2006_03 – Vol11_Num03 – JDJMarch2006 (Supercharge JSF AJAX Data Fetch).pdf
- Manning, Ajax In Action (2006) Bbl Bm Ocr 7.0-2.6 Lotb 135 4X.pdf
- Manning, Ajax in Action (2006) BBL BM OCR 7.0-2.6 LotB.pdf
- Manning – Ajax In Action (2006).pdf
- Manning – Ajax in Action 2.pdf
- Manning Ajax In Action Oct 2005.pdf
- Manning – AJAX In Action.pdf
- O’reilly – Ajax 2Ed.pdf
- OReilly.Ajax.Design.Patterns.Jun.2006.chm
- Oreilly Ajax Hacks Tips And Tools For Creating Responsive Web Sites Mar 2006.chm
- Oreilly Head Rush Ajax Mar 2006.chm
- O’Reilly – Head Rush Ajax.pdf
- Packt.Publishing.Ajax.And.Php.Building.Responsive.Web Applications Mar.2006.pdf
- Peachpit.Press.JavaScript.and.Ajax.for.the.Web.6th Edition Aug 2006.chm
- Pragmatic-Ajax A Web 2.0 Primer.pdf
- [Pragmatic Bookshelf] Pragmatic Ajax – A Web 2.0 Primer (2006) – BBL.pdf
- Pragmatic Programmers – Pragmatic Ajax (2006).pdf
- Pragmatic Programmers – Pragmatic Ajax – A Web 2.0 Primer – 2006.pdf
- Prentice.Hall.PTR.AJAX.Creating.Web.Pages.with Asynchronous JavaScript and XML.Aug.2006.chm
- Prentice.Hall.PTR.AJAX.Creating.Web.Pages.with.Asynchronous JavaScript and XML Aug 2006.pdf
- Prentice.Hall.PTR.Understanding.AJAX.Using.JavaScript.to Create Rich Internet Applications Aug.2006.chm
- Professional Ajax (2006).chm
- Professional Ajax Php.pdf
- Pro JSF and AJAX – Using Rich Internet Technologies.pdf
- Ruby Programming — Foundations Of Ajax (Apress, 2006).pdf
- Sams.Ajax.for.Web.Application.Developers.Oct.2006.chm
- Sams.Teach.Yourself.AJAX.in.10.Minutes.Apr.2006.chm
- Soa Web Services Journal – Ajax Composite Apps (May 2006, Vol 6, Iss 5).pdf
- Using MX AJAX Toolbox.chm
- Wiley, Ajax For Dummies (2006) Bbl Lotb.pdf
- Wiley – Ajax For Dummies (2006).pdf
- Wiley Ajax For Dummies 2007.pdf
- Wrox.Beginning.Ajax.with.ASP.NET.Sep.2006.pdf
- Wrox Beginning Ajax With Asp Sep 2006.pdf
- Wrox.Press.Professional.Ajax.chm
- Wrox Press Professional Ajax Falstaff.pdf
- Wrox.Professional.Ajax.Feb.2006.chm

