<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1910980239023843083</atom:id><lastBuildDate>Sun, 22 Jul 2012 15:52:08 +0000</lastBuildDate><category>XAF</category><category>Dotnetnuke</category><category>Google Maps</category><category>expressApp Framework</category><title>Dani Mora</title><description>Stuff on tech mainly about development and .NET</description><link>http://danimora.blogspot.com/</link><managingEditor>noreply@blogger.com (Dani Mora)</managingEditor><generator>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DaniMora" /><feedburner:info uri="danimora" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>41.56455</geo:lat><geo:long>2.008954</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license><feedburner:emailServiceId>DaniMora</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FDaniMora" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FDaniMora" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FDaniMora" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/DaniMora" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FDaniMora" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FDaniMora" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FDaniMora" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-6804037899296032215</guid><pubDate>Tue, 23 Sep 2008 21:32:00 +0000</pubDate><atom:updated>2008-09-24T00:31:54.646+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XAF</category><category domain="http://www.blogger.com/atom/ns#">expressApp Framework</category><title>Formatting the Address base object in XAF</title><description>&lt;p&gt;By default the base address object displays the FullAddress using the format:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;County + State + Street + City + Zip&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If your applications are going to be used outside US probably you may want to use another format like this for Spain: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Street + Zip + City + Country&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This &lt;a href="http://www.devexpress.com/Support/Center/KB/p/K18057.aspx" target="_blank"&gt;DevExpress KB article&lt;/a&gt; shows you how.&lt;/p&gt;  &lt;p&gt;In a XAF web application I do it in the Session Start event:&lt;/p&gt;  &lt;div&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Session_Start(Object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  &lt;span style="color: #008000"&gt;//...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  AddressImpl.FullAddressFormat = &lt;span style="color: #006080"&gt;&amp;quot;{Street} {ZipPostal} {City}&amp;quot;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=ywLymS1lj4g:yaoedwwDRhQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=ywLymS1lj4g:yaoedwwDRhQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/ywLymS1lj4g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/ywLymS1lj4g/formatting-address-base-object.html</link><author>noreply@blogger.com (Dani Mora)</author><thr:total>0</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/formatting-address-base-object.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-5845550752571650954</guid><pubDate>Tue, 23 Sep 2008 20:56:00 +0000</pubDate><atom:updated>2008-09-23T22:56:27.112+02:00</atom:updated><title>Windows Vista and its slow start menu</title><description>&lt;p&gt;I finally found why my Windows Vista Start Menu was SO SLOW. The problem is an option called &amp;quot;&lt;em&gt;Highlight newly installed programs-OFF&amp;quot;.&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;You'll find the explanation and screenshots here: &lt;a href="http://mobile.amirw.net/2007/12/06/windows-vista-start-menu-too-slow-heres-how-to-make-it-faster/" target="_blank"&gt;Windows Vista Start Menu Too Slow? Here&amp;#8217;s How To Make It Faster!&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I've been hating Vista because of that (among others)&lt;/p&gt;  &lt;p&gt;Today I hate Vista a little less.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=RnNfv-CBCYo:QHSEV9g2aVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=RnNfv-CBCYo:QHSEV9g2aVs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/RnNfv-CBCYo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/RnNfv-CBCYo/windows-vista-and-its-slow-start-menu.html</link><author>noreply@blogger.com (Dani Mora)</author><thr:total>0</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/windows-vista-and-its-slow-start-menu.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-5232923252800604310</guid><pubDate>Sat, 13 Sep 2008 13:58:00 +0000</pubDate><atom:updated>2008-09-23T23:36:14.230+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XAF</category><category domain="http://www.blogger.com/atom/ns#">expressApp Framework</category><title>Exporting from XAF Win app to Google Earth</title><description>&lt;div&gt;In a previous post I build an example showing how to seamlessly integrate a &lt;a href="http://danimora.blogspot.com/2008/08/displaying-objects-on-map.html"&gt;XAF Web app with Google Maps&lt;/a&gt;, using the Google API and a custom ListEditor.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For a Winforms application I prefer to export the information to &lt;a href="http://earth.google.com/"&gt;Google Earth&lt;/a&gt; using a &lt;a href="http://code.google.com/apis/kml/documentation/"&gt;KML &lt;/a&gt;file because it's easier to develop and it offers a much richer experience to the user. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The sample I'm sharing today does the following: (can be downloaded &lt;a href="http://www.box.net/shared/38r8h3cs0s"&gt;here&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Like in the &lt;a href="http://danimora.blogspot.com/2008/08/displaying-objects-on-map.html"&gt;XAF Web sample&lt;/a&gt;, it geolocalizes a customer main address to get it's longitude and latitude. This information is updated and persisted to the database every time the customer is saved.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A ViewController called "GoogleEarthController" shows an action to export either All or Selected customers.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_BahdAgT_b8A/SMvJ3WHW5iI/AAAAAAAAA6k/Z67skS9HT1c/s400/export+to+google+earth.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5245508143669503522" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;Using the free and powerful &lt;a href="http://gekml.boseefus.com/"&gt;Google Earth KML API for .NET 2.0 (ge-kml)&lt;/a&gt; it creates a temporary KML including the information from the Customer object provided by its IPlacemark interface: coordinates, a Title and a HTMLDescription used to show the nice google earth information balloons.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BahdAgT_b8A/SMvMl1iFSTI/AAAAAAAAA7M/JAcR0d45Yp8/s1600-h/detail.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_BahdAgT_b8A/SMvMl1iFSTI/AAAAAAAAA7M/JAcR0d45Yp8/s400/detail.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5245511141400332594" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;Once the KML has been generated, the XAF Application automatically opens it using &lt;a href="http://earth.google.com/"&gt;Google Earth. &lt;/a&gt;The exported customers appears in the "Places" section.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/_BahdAgT_b8A/SMvKu3knk6I/AAAAAAAAA6s/qfg0MWPg6Ck/s400/places.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" border="0" alt="" id="BLOGGER_PHOTO_ID_5245509097543406498" /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;And that's all for this basic XAF to KML exportation sample. Feedback will be highly appreciated.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BahdAgT_b8A/SMvMljShQVI/AAAAAAAAA7E/9yXPLMtPoCA/s1600-h/xafgoogleearth.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_BahdAgT_b8A/SMvMljShQVI/AAAAAAAAA7E/9yXPLMtPoCA/s400/xafgoogleearth.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5245511136503218514" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.box.net/shared/38r8h3cs0s"&gt;You can download this sample with sources here&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=FFVJascGXCI:dnLG8pYzVPM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=FFVJascGXCI:dnLG8pYzVPM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/FFVJascGXCI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/FFVJascGXCI/exporting-from-xaf-win-app-to-google.html</link><author>noreply@blogger.com (Dani Mora)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_BahdAgT_b8A/SMvJ3WHW5iI/AAAAAAAAA6k/Z67skS9HT1c/s72-c/export+to+google+earth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/exporting-from-xaf-win-app-to-google.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-8153925063850712214</guid><pubDate>Thu, 11 Sep 2008 10:13:00 +0000</pubDate><atom:updated>2008-09-11T12:23:13.736+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dotnetnuke</category><title>Dotnetnuke 4.9 fixes problems with Chrome</title><description>&lt;a href="http://www.dotnetnuke.com/tabid/125/Default.aspx"&gt;Dotnenuke 4.9.0&lt;/a&gt; is now available and ships with the new and long awaited &lt;a href="http://www.fckeditor.net/"&gt;FCKEditor&lt;/a&gt; provider 2.0.2 which is, btw, &lt;a href="http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/118/threadid/252808/scope/posts/Default.aspx"&gt;compatible&lt;/a&gt; with Chrome.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=bNjDZ687p4g:eJaYU2sI1vM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=bNjDZ687p4g:eJaYU2sI1vM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/bNjDZ687p4g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/bNjDZ687p4g/dotnetnuke-49-fixes-problems-with.html</link><author>noreply@blogger.com (Dani Mora)</author><thr:total>0</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/dotnetnuke-49-fixes-problems-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-6523979474041301796</guid><pubDate>Tue, 09 Sep 2008 18:35:00 +0000</pubDate><atom:updated>2008-09-23T23:35:56.629+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XAF</category><category domain="http://www.blogger.com/atom/ns#">expressApp Framework</category><title>Sample: Supply Initial Data in XAF from an Excel Sheet (without Excel)</title><description>&lt;div&gt;As described &lt;a href="http://www.devexpress.com/Help/?document=ExpressApp/CustomDocument2788.htm&amp;amp;levelup=true"&gt;here&lt;/a&gt; I usually like to supply some initial data to my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XAF&lt;/span&gt; applications. However instead of manually I prefer to do it from data stored in Excel sheets because it allows me to load different sets of data for each development phase and even to migrate data from legacy applications.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Looking for a way to import data from an excel file without having Excel or the Office PIA installed on the computer, I found a &lt;a href="http://www.codeproject.com/KB/office/excel_using_oledb.aspx"&gt;very nice piece of code&lt;/a&gt; that loads a sheet's data into a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;datatable&lt;/span&gt; using only &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;OLEDB&lt;/span&gt;.  Once the data is in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Datatable&lt;/span&gt;, load it into a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;XAF&lt;/span&gt; application is a piece of cake.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I prepared a basic sample, &lt;a href="http://www.box.net/shared/8i6571xm2p"&gt;that can &lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.box.net/shared/8i6571xm2p"&gt;download &lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.box.net/shared/8i6571xm2p"&gt;here&lt;/a&gt;, which loads Customers (and their addresses) from a Excel File into &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;XPO&lt;/span&gt; objects.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tip: To avoid &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;file path&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;nightmares&lt;/span&gt; I normally place the excel file in at the root level of the "Module" project and configure it to be deployed to the output directory.  See the picture below.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BahdAgT_b8A/SMbwIGpQHbI/AAAAAAAAA6Q/gzpYkO1IQZU/s1600-h/includeexcel.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_BahdAgT_b8A/SMbwIGpQHbI/AAAAAAAAA6Q/gzpYkO1IQZU/s800/includeexcel.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5244142838132776370" style="cursor: pointer; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;Which technique do you use to load data into your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XAF&lt;/span&gt; applications? Any feedback will be appreciated.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=rez4PJDaLoU:u-lNdYe2wAw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=rez4PJDaLoU:u-lNdYe2wAw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/rez4PJDaLoU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/rez4PJDaLoU/sample-supply-initial-data-in-xaf-from.html</link><author>noreply@blogger.com (Dani Mora)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_BahdAgT_b8A/SMbwIGpQHbI/AAAAAAAAA6Q/gzpYkO1IQZU/s72-c/includeexcel.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/sample-supply-initial-data-in-xaf-from.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-6340337942060056239</guid><pubDate>Mon, 08 Sep 2008 10:50:00 +0000</pubDate><atom:updated>2008-09-23T23:35:37.333+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XAF</category><category domain="http://www.blogger.com/atom/ns#">expressApp Framework</category><title>Editing shared objects (like Addresses) in XAF as non shared</title><description>&lt;div style="text-align: left;"&gt;If you are using the BaseImpl.Address object you'll note how, by default, XAF shows a combobox to select an address making them shared and reusable among Persons.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Usually I don't want to reuse addresses for different Persons or parties.  I prefer the MainDemo style where the addresses are not shared and where popup dialog is opened to edit an address using a button with the three dots.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The trick to change this behaviour is to modify the "PropertyEditorType" for the Address1 and Address2 properties in the Party object and use theses values:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;In the Module.Win project:&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;DevExpress.ExpressApp.Win.Editors.ObjectPropertyEditor&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;In the Module.Web project:&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;DevExpress.ExpressApp.Web.Editors.ASPx.ASPxObjectPropertyEditor&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is how it looks like before the change (click to enlarge):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BahdAgT_b8A/SMUNKVwn67I/AAAAAAAAA5o/iSYo-8UcJSo/s1600-h/before.jpg" style="text-decoration: none;"&gt;&lt;img src="http://4.bp.blogspot.com/_BahdAgT_b8A/SMUNKVwn67I/AAAAAAAAA5o/iSYo-8UcJSo/s400/before.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5243611812433750962" style="text-decoration: underline;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;And this is after the change:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BahdAgT_b8A/SMUNG9HCz1I/AAAAAAAAA5g/WtDyShlUrao/s1600-h/after.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_BahdAgT_b8A/SMUNG9HCz1I/AAAAAAAAA5g/WtDyShlUrao/s400/after.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5243611754277293906" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To change it, open the model in the web or win project go to the party object (or the parent object containing the addresses) and change the PropertyEditorType for the Address field. The model should look like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BahdAgT_b8A/SMUNwS2OoUI/AAAAAAAAA5w/Z1dSSDdwDb8/s1600-h/canvi+web.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_BahdAgT_b8A/SMUNwS2OoUI/AAAAAAAAA5w/Z1dSSDdwDb8/s400/canvi+web.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5243612464486981954" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Do you know a better way to do it?&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=0zGswqp156I:JOzY_Mhrdp8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=0zGswqp156I:JOzY_Mhrdp8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/0zGswqp156I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/0zGswqp156I/editing-shared-objects-like-addresses.html</link><author>noreply@blogger.com (Dani Mora)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_BahdAgT_b8A/SMUNKVwn67I/AAAAAAAAA5o/iSYo-8UcJSo/s72-c/before.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/editing-shared-objects-like-addresses.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-1832777635651068920</guid><pubDate>Mon, 08 Sep 2008 09:44:00 +0000</pubDate><atom:updated>2008-09-23T23:35:25.382+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XAF</category><category domain="http://www.blogger.com/atom/ns#">expressApp Framework</category><title>Problem with XAF updating schema in 8.2.3</title><description>&lt;div&gt;If you updated XAF to the 8.2.3 release and are using SQL2000 you'll probably get the following error when updating the schema:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;"Schema needs to be updated. Contact your system administrator. Sql text: Invalid column name 'dbo'."&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This hotfix may help: &lt;a href="http://www.devexpress.com/Support/Center/p/B97182.aspx"&gt;BugReport Details: Sql text: Invalid column name 'dbo'.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=EDsrS-CyR8U:36_B_0RhyQA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=EDsrS-CyR8U:36_B_0RhyQA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/EDsrS-CyR8U" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/EDsrS-CyR8U/problem-in-823.html</link><author>noreply@blogger.com (Dani Mora)</author><thr:total>0</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/09/problem-in-823.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1910980239023843083.post-5643470570590060091</guid><pubDate>Sun, 07 Sep 2008 20:00:00 +0000</pubDate><atom:updated>2008-09-23T23:35:09.097+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XAF</category><category domain="http://www.blogger.com/atom/ns#">expressApp Framework</category><category domain="http://www.blogger.com/atom/ns#">Google Maps</category><title>Sample: Displaying XAF objects on a Map</title><description>Inspired on the great "&lt;a href="http://tv.devexpress.com/XAFBlogging.movie"&gt;Bloggin with XAF&lt;/a&gt;" video tutorial I just created a sample showing how to create a custom ListEditor to display objects in a Google Map instead on the default List View.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using the Google Maps API this sample resolves the Longitude and Latitude of all the customers and render them on a interactive map.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can download the source code &lt;a href="http://www.box.net/shared/qp5hf7hmax"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is how it looks like:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BahdAgT_b8A/SMT_GkBtsNI/AAAAAAAAA5I/yl5ZfQhtT1k/s1600-h/onamap.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_BahdAgT_b8A/SMT_GkBtsNI/AAAAAAAAA5I/yl5ZfQhtT1k/s400/onamap.jpg" alt="" id="BLOGGER_PHOTO_ID_5243596354381263058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BahdAgT_b8A/SMT_P-IzsxI/AAAAAAAAA5Q/wIQWslrFCEc/s1600-h/onamapdetail.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_BahdAgT_b8A/SMT_P-IzsxI/AAAAAAAAA5Q/wIQWslrFCEc/s400/onamapdetail.jpg" alt="" id="BLOGGER_PHOTO_ID_5243596516009161490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To embed the maps I used the free &lt;a href="http://en.googlemaps.subgurim.net/"&gt;GoogleMaps.Subgurim.NET&lt;/a&gt; control which allows you to integrate a Google Maps into any ASP.NET application handling with all the plumbing for you.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is how the sample works:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The "Customer" object implements an interface called "IPlacemark". This adds the Longitude and Latitude properties to the BO.&lt;/li&gt;&lt;li&gt;Every time a "Customer" is saved it contacts the Maps API to geolocalize its address. Using the street, zip code and country the Maps API returns a Longitude and Latitude. This information is stored in two custom properties.&lt;/li&gt;&lt;li&gt;A custom view called "Customers on a map" uses a custom Editor to display all the IPlacemark objects on the map.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I used the "&lt;a href="http://www.devexpress.com/Help/?document=ExpressApp/CustomDocument3011.htm&amp;amp;levelup=true"&gt;ViewsVariant&lt;/a&gt;" module to allow the user to switch between the normal view (ListView) and the (maps View)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BahdAgT_b8A/SMTiUOJVmsI/AAAAAAAAA44/vVrB3VsWePA/s1600-h/onamapviewdetail.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_BahdAgT_b8A/SMTiUOJVmsI/AAAAAAAAA44/vVrB3VsWePA/s400/onamapviewdetail.jpg" alt="" id="BLOGGER_PHOTO_ID_5243564703188622018" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This sample needs to be extended to use paging, error handling, converting it to a module (eg.like the scheduler module), and resolve the address in a more efficient way (only when address changes are detected).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The sample provided uses a Google Maps API key valid for the domain http://localhost:2064. If you want to change the URL you'll need a &lt;a href="http://code.google.com/apis/maps/signup.html"&gt;new API Key&lt;/a&gt; (its free) and update the web config.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please, drop some feedback if you find it interesting to help me improve it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=eezjwj7hs7w:oJ2ykD_UnsI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DaniMora?a=eezjwj7hs7w:oJ2ykD_UnsI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DaniMora?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DaniMora/~4/eezjwj7hs7w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/DaniMora/~3/eezjwj7hs7w/displaying-objects-on-map.html</link><author>noreply@blogger.com (Dani Mora)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_BahdAgT_b8A/SMT_GkBtsNI/AAAAAAAAA5I/yl5ZfQhtT1k/s72-c/onamap.jpg" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://danimora.blogspot.com/2008/08/displaying-objects-on-map.html</feedburner:origLink></item></channel></rss>
