<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Geospecialling</title>
    <link>http://www.webrade.com/blogs/darrin/</link>
    <description>Being a GIS Software Developer</description>
    <language>en-us</language>
    <copyright>Landor Investments Ltd.</copyright>
    <lastBuildDate>Fri, 12 Dec 2008 23:42:51 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>dmaidlow@landorgis.com</managingEditor>
    <webMaster>dmaidlow@landorgis.com</webMaster>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=1434eee0-6e01-43a2-bd76-d94aed207670</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,1434eee0-6e01-43a2-bd76-d94aed207670.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Check out the link on google.ca for <a title="Google Chrome" href="http://www.google.com/chrome/index.html?brand=CHMQ&amp;utm_source=en-hpp&amp;utm_medium=hpp&amp;utm_campaign=en" target="_blank" rel="tag">Chrome</a>.
Now just imagine getting a link from google.com….
</p>
        <p align="center">
          <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/ThemostdesirablelinkontheInternetswellda_E2C8/image_4.png" target="_blank">
            <img title="The bestest link on all the internets..." style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="The bestest link on all the internets..." src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/ThemostdesirablelinkontheInternetswellda_E2C8/image_thumb_1.png" width="545" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=1434eee0-6e01-43a2-bd76-d94aed207670" />
      </body>
      <title>The most desirable link on the Internets (well damn close)</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,1434eee0-6e01-43a2-bd76-d94aed207670.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/12/12/TheMostDesirableLinkOnTheInternetsWellDamnClose.aspx</link>
      <pubDate>Fri, 12 Dec 2008 23:42:51 GMT</pubDate>
      <description>&lt;p&gt;
Check out the link on google.ca for &lt;a title="Google Chrome" href="http://www.google.com/chrome/index.html?brand=CHMQ&amp;amp;utm_source=en-hpp&amp;amp;utm_medium=hpp&amp;amp;utm_campaign=en" target="_blank" rel="tag"&gt;Chrome&lt;/a&gt;.
Now just imagine getting a link from google.com….
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/ThemostdesirablelinkontheInternetswellda_E2C8/image_4.png" target="_blank"&gt;&lt;img title="The bestest link on all the internets..." style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="The bestest link on all the internets..." src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/ThemostdesirablelinkontheInternetswellda_E2C8/image_thumb_1.png" width="545" border="0" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=1434eee0-6e01-43a2-bd76-d94aed207670" /&gt;</description>
      <category>Chrome</category>
      <category>Google</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=bc1a18ed-f728-4806-bb7d-24c0ae8f0a34</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,bc1a18ed-f728-4806-bb7d-24c0ae8f0a34.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
All the effort that Google has put into <a title="Google Chrome" href="http://www.google.com/chrome/index.html?brand=CHMQ&amp;utm_source=en-hpp&amp;utm_medium=hpp&amp;utm_campaign=en" target="_blank" rel="tag">Chrome</a>,
then I find this funny screen capture opportunity.
</p>
        <p align="center">
          <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/FunnyGoogleChromeGoogleToolbarFail_E489/image_2.png">
            <img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="439" alt="image" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/FunnyGoogleChromeGoogleToolbarFail_E489/image_thumb.png" width="644" border="0" />
          </a>
        </p>
        <p>
Come on, I just wanted to get access to my bookmarks that are stored in the <a title="Google Bookmarks" href="https://www.google.com/accounts/ServiceLogin?hl=en&amp;continue=http://www.google.com/bookmarks&amp;nui=1&amp;service=bookmarks" target="_blank" rel="tag">magical
Google Bookmarks thingy</a>..
</p>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=bc1a18ed-f728-4806-bb7d-24c0ae8f0a34" />
      </body>
      <title>Funny Google Chrome + Google Toolbar Fail</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,bc1a18ed-f728-4806-bb7d-24c0ae8f0a34.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/12/12/FunnyGoogleChromeGoogleToolbarFail.aspx</link>
      <pubDate>Fri, 12 Dec 2008 23:22:43 GMT</pubDate>
      <description>&lt;p&gt;
All the effort that Google has put into &lt;a title="Google Chrome" href="http://www.google.com/chrome/index.html?brand=CHMQ&amp;amp;utm_source=en-hpp&amp;amp;utm_medium=hpp&amp;amp;utm_campaign=en" target="_blank" rel="tag"&gt;Chrome&lt;/a&gt;,
then I find this funny screen capture opportunity.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/FunnyGoogleChromeGoogleToolbarFail_E489/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="439" alt="image" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/FunnyGoogleChromeGoogleToolbarFail_E489/image_thumb.png" width="644" border="0" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Come on, I just wanted to get access to my bookmarks that are stored in the &lt;a title="Google Bookmarks" href="https://www.google.com/accounts/ServiceLogin?hl=en&amp;amp;continue=http://www.google.com/bookmarks&amp;amp;nui=1&amp;amp;service=bookmarks" target="_blank" rel="tag"&gt;magical
Google Bookmarks thingy&lt;/a&gt;..
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=bc1a18ed-f728-4806-bb7d-24c0ae8f0a34" /&gt;</description>
      <category>Chrome</category>
      <category>Google</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=b0152afa-b8f3-4581-982a-e0d56f13f55a</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,b0152afa-b8f3-4581-982a-e0d56f13f55a.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This morning I sat in on the <a href="http://au.autodesk.com/sessions/detail/2703/" target="_blank">Introduction
to Topobase API</a> class at Autodesk University presented by <a href="http://au.autodesk.com/profile/114226/" target="_blank">Dongjin
Xing</a>.  I've made an effort to attend Dongjin's classes every year for the
past several years.  He is a good presenter, and has a damn good handle on things. 
If you are a developer type, I recommend you consider his courses.  This one
was no exception.
</p>
        <p>
I've heard people talking about Topobase for quite some time.  I've heard good,
and I've heard bad.  Today I got my first look at the product.  Topobase
is a server product that works with Oracle spatial to facilitate the creation, editing
and sharing of spatial data in Oracle.  A client is provided with a full API
and users can access data using AutoCAD Map or a web client based on Mapguide Enterprise.
</p>
        <p>
The design of Topobase looks to be well tiered.  Using ADO.NET and OraDirect.net
it also supports connection pooling.  They provide a neat VB.NET scripting interface
that helps build simple workflows, and data validation rules.
</p>
        <p>
All in all, everything they are putting forward looks quite cool.  Visual studio
templates to build Topobase plugins that can be loaded right into the Topobase UI. 
It could become a very cool starting point for developers/consultants to start building
tools to work on data. But there are a few problems...
</p>
        <p>
Topobase is by no means a new product.  It's several revisions in since Autodesk
aquired it - but it still seems to have some performance problem.  During the
presentation this morning, Topobase took over a minute to load.  Once loaded,
it took over a minute to load and render a small dataset.  Now, Oracle/Topobase
and AutoCAD Map were running within a virtual machine, running on a notebook. 
Even still - that's slow.
</p>
        <p>
Now, I'm no Autodesk insider.  I'm also not a business expert (but I have been
learning a thing or two about it over the years).  History does tend to repeat
itself.  I look back at GIS Design Server and Vision.  Like Topobase, both
of these products were acquired by Autodesk.  Like Topobase, these products were
'Enterprise Data Store' type things.  Both these products are now "not actively
promoted", and customers are encouraged to migrate to Topobase.  With the <a href="http://finance.google.com/finance?q=autodesk" target="_blank">Autodesk
stock price</a> down - they are going to trim fat.  The Autodesk reseller channel
for the most part does not have the skills to use, support, or sell this tool - and
it really is a developer/consultant tool.   My fear about Topobase is that
if I were to invest the time in learning and developing for Topobase, Autodesk will
"retire" the product.  Then that invested time is wasted, but more importantly
the relationship with my customers is damaged by leaving them stranded up s**t creek
with yet another dead 'Enterprise Data Store' thing.
</p>
        <p>
It's a catch 22.  So its not unreasonable to think that Autodesk needs developers
like us to adopt, promote, and sell Topobase to help keep it alive.  I'm interested
in hearing your opinions on this subject...
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a917e919-ab92-477c-8708-806cacb2210d" style="margin: 0px; padding: 0px; display: inline;">Technorati
Tags: <a href="http://technorati.com/tags/Autodesk%20University" rel="tag">Autodesk
University</a>,<a href="http://technorati.com/tags/Oracle%20Spatial" rel="tag">Oracle
Spatial</a>,<a href="http://technorati.com/tags/Topobase" rel="tag">Topobase</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=b0152afa-b8f3-4581-982a-e0d56f13f55a" />
      </body>
      <title>Introduction to Topobase API</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,b0152afa-b8f3-4581-982a-e0d56f13f55a.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/12/04/IntroductionToTopobaseAPI.aspx</link>
      <pubDate>Thu, 04 Dec 2008 08:34:42 GMT</pubDate>
      <description>&lt;p&gt;
This morning I sat in on the &lt;a href="http://au.autodesk.com/sessions/detail/2703/" target="_blank"&gt;Introduction
to Topobase API&lt;/a&gt; class at Autodesk University presented by &lt;a href="http://au.autodesk.com/profile/114226/" target="_blank"&gt;Dongjin
Xing&lt;/a&gt;.&amp;nbsp; I've made an effort to attend Dongjin's classes every year for the
past several years.&amp;nbsp; He is a good presenter, and has a damn good handle on things.&amp;nbsp;
If you are a developer type, I recommend you consider his courses.&amp;nbsp; This one
was no exception.
&lt;/p&gt;
&lt;p&gt;
I've heard people talking about Topobase for quite some time.&amp;nbsp; I've heard good,
and I've heard bad.&amp;nbsp; Today I got my first look at the product.&amp;nbsp; Topobase
is a server product that works with Oracle spatial to facilitate the creation, editing
and sharing of spatial data in Oracle.&amp;nbsp; A client is provided with a full API
and users can access data using AutoCAD Map or a web client based on Mapguide Enterprise.
&lt;/p&gt;
&lt;p&gt;
The design of Topobase looks to be well tiered.&amp;nbsp; Using ADO.NET and OraDirect.net
it also supports connection pooling.&amp;nbsp; They provide a neat VB.NET scripting interface
that helps build simple workflows, and data validation rules.
&lt;/p&gt;
&lt;p&gt;
All in all, everything they are putting forward looks quite cool.&amp;nbsp; Visual studio
templates to build Topobase plugins that can be loaded right into the Topobase UI.&amp;nbsp;
It could become a very cool starting point for developers/consultants to start building
tools to work on data. But there are a few problems...
&lt;/p&gt;
&lt;p&gt;
Topobase is by no means a new product.&amp;nbsp; It's several revisions in since Autodesk
aquired it - but it still seems to have some performance problem.&amp;nbsp; During the
presentation this morning, Topobase took over a minute to load.&amp;nbsp; Once loaded,
it took over a minute to load and render a small dataset.&amp;nbsp; Now, Oracle/Topobase
and AutoCAD Map were running within a virtual machine, running on a notebook.&amp;nbsp;
Even still - that's slow.
&lt;/p&gt;
&lt;p&gt;
Now, I'm no Autodesk insider.&amp;nbsp; I'm also not a business expert (but I have been
learning a thing or two about it over the years).&amp;nbsp; History does tend to repeat
itself.&amp;nbsp; I look back at GIS Design Server and Vision.&amp;nbsp; Like Topobase, both
of these products were acquired by Autodesk.&amp;nbsp; Like Topobase, these products were
'Enterprise Data Store' type things.&amp;nbsp; Both these products are now "not actively
promoted", and customers are encouraged to migrate to Topobase.&amp;nbsp; With the &lt;a href="http://finance.google.com/finance?q=autodesk" target="_blank"&gt;Autodesk
stock price&lt;/a&gt; down - they are going to trim fat.&amp;nbsp; The Autodesk reseller channel
for the most part does not have the skills to use, support, or sell this tool - and
it really is a developer/consultant tool.&amp;nbsp;&amp;nbsp; My fear about Topobase is that
if I were to invest the time in learning and developing for Topobase, Autodesk will
"retire" the product.&amp;nbsp; Then that invested time is wasted, but more importantly
the relationship with my customers is damaged by leaving them stranded up s**t creek
with yet another dead 'Enterprise Data Store' thing.
&lt;/p&gt;
&lt;p&gt;
It's a catch 22.&amp;nbsp; So its not unreasonable to think that Autodesk needs developers
like us to adopt, promote, and sell Topobase to help keep it alive.&amp;nbsp; I'm interested
in hearing your opinions on this subject...
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a917e919-ab92-477c-8708-806cacb2210d" style="margin: 0px; padding: 0px; display: inline;"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Autodesk%20University" rel="tag"&gt;Autodesk
University&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Oracle%20Spatial" rel="tag"&gt;Oracle
Spatial&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Topobase" rel="tag"&gt;Topobase&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=b0152afa-b8f3-4581-982a-e0d56f13f55a" /&gt;</description>
      <category>Autodesk University</category>
      <category>Oracle Spatial</category>
      <category>Topobase</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=6bd682bf-5041-4b35-b76d-9500ec58b3b3</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,6bd682bf-5041-4b35-b76d-9500ec58b3b3.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well day 4 in Las Vegas for <a href="http://au.autodesk.com/" target="_blank">Autodesk
University</a>.  Took my first weekend off in a long long time =).  Monday
was the <a href="http://au.autodesk.com/event/adn/" target="_blank">ADN Developer
Day</a>, sadly its all NDA goodness and I really don't wanna get a call from the Autodesk
lawyers =).
</p>
        <p>
This morning I attended the <a href="http://au.autodesk.com/sessions/detail/2888/" target="_blank">SQL
Server 2008 with AutoCAD Map 3D and Autodesk MapGuide</a> (GS100-3) presented by <a href="http://au.autodesk.com/profile/102864/" target="_blank">Orest
Halustchak</a> (Technical Architect at Autodesk) and <a href="http://blogs.msdn.com/isaac/" target="_blank">Isaac
Kunen</a> (Senior Program Manager at Microsoft).   First it was really nice
to bring in the brains from Microsoft for a presentation on SQL server.
</p>
        <p>
This class was especially interesting to me, as I have not yet made time to look at
SQL server 2008 in great depths.  It looks like Microsoft done a pretty good
job at their first spatial offering.  I'm always hesitant to jump in heads first
to a first release.  Hey I waited until Mapguide Enterprise 2009 before I even
really considered writing any code for it.  If you are new to spatial databases,
or you have a more basic need (no need for more advanced <a href="http://en.wikipedia.org/wiki/Linear_Reference_System" target="_blank">Linear
Referencing System</a> or network tracing functionality) SQL server might be right
for you.  If you already have SQL server experience, the learning curve going
to SQL 2008 spatial is going to be a lot less nasty than starting with Oracle Spatial.
</p>
        <p>
The spatial functionality is available all versions of SQL server, except for the
compact edition.  Yes, even the free Express version contains the spatial engine. 
This is good news.  Often times when Oracle comes up (even the express edition),
people get scared.  Oracle has a scary, difficult stigma associated with. 
Spatial abilities with SQL server Express could be very helpful in getting a spatial
engine into smaller shops.
</p>
        <p>
Microsoft is pretty good with the small details.  One of the cool features of
SQL 2008 is the ability to view the spatial data right in SQL Management Studio. 
Note this doesn't seem to be available in the Express edition of Management Studio.  
</p>
        <p>
AutoCAD Map and Mapguide seem to work pretty well with SQL 2008.  I plan to load
some larger data sets into SQL 2008 in the coming weeks to see how it performs in
comparison to Oracle spatial.
</p>
        <p>
Here is a tip for planning for AU.  Consider budgeting to eat outside of the
Autodesk provided buffets.  =)
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2436ad29-4941-4871-97a7-0074cc4d425b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Autodesk%20University" rel="tag">Autodesk
University</a>,<a href="http://technorati.com/tags/Mapguide%20Enterprise" rel="tag">Mapguide
Enterprise</a>,<a href="http://technorati.com/tags/SQL%20Server%20Spatial" rel="tag">SQL
Server Spatial</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=6bd682bf-5041-4b35-b76d-9500ec58b3b3" />
      </body>
      <title>SQL Server 2008 Spatial</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,6bd682bf-5041-4b35-b76d-9500ec58b3b3.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/12/03/SQLServer2008Spatial.aspx</link>
      <pubDate>Wed, 03 Dec 2008 00:49:29 GMT</pubDate>
      <description>&lt;p&gt;
Well day 4 in Las Vegas for &lt;a href="http://au.autodesk.com/" target="_blank"&gt;Autodesk
University&lt;/a&gt;.&amp;#160; Took my first weekend off in a long long time =).&amp;#160; Monday
was the &lt;a href="http://au.autodesk.com/event/adn/" target="_blank"&gt;ADN Developer
Day&lt;/a&gt;, sadly its all NDA goodness and I really don't wanna get a call from the Autodesk
lawyers =).
&lt;/p&gt;
&lt;p&gt;
This morning I attended the &lt;a href="http://au.autodesk.com/sessions/detail/2888/" target="_blank"&gt;SQL
Server 2008 with AutoCAD Map 3D and Autodesk MapGuide&lt;/a&gt; (GS100-3) presented by &lt;a href="http://au.autodesk.com/profile/102864/" target="_blank"&gt;Orest
Halustchak&lt;/a&gt; (Technical Architect at Autodesk) and &lt;a href="http://blogs.msdn.com/isaac/" target="_blank"&gt;Isaac
Kunen&lt;/a&gt; (Senior Program Manager at Microsoft).&amp;#160;&amp;#160; First it was really nice
to bring in the brains from Microsoft for a presentation on SQL server.
&lt;/p&gt;
&lt;p&gt;
This class was especially interesting to me, as I have not yet made time to look at
SQL server 2008 in great depths.&amp;#160; It looks like Microsoft done a pretty good
job at their first spatial offering.&amp;#160; I'm always hesitant to jump in heads first
to a first release.&amp;#160; Hey I waited until Mapguide Enterprise 2009 before I even
really considered writing any code for it.&amp;#160; If you are new to spatial databases,
or you have a more basic need (no need for more advanced &lt;a href="http://en.wikipedia.org/wiki/Linear_Reference_System" target="_blank"&gt;Linear
Referencing System&lt;/a&gt; or network tracing functionality) SQL server might be right
for you.&amp;#160; If you already have SQL server experience, the learning curve going
to SQL 2008 spatial is going to be a lot less nasty than starting with Oracle Spatial.
&lt;/p&gt;
&lt;p&gt;
The spatial functionality is available all versions of SQL server, except for the
compact edition.&amp;#160; Yes, even the free Express version contains the spatial engine.&amp;#160;
This is good news.&amp;#160; Often times when Oracle comes up (even the express edition),
people get scared.&amp;#160; Oracle has a scary, difficult stigma associated with.&amp;#160;
Spatial abilities with SQL server Express could be very helpful in getting a spatial
engine into smaller shops.
&lt;/p&gt;
&lt;p&gt;
Microsoft is pretty good with the small details.&amp;#160; One of the cool features of
SQL 2008 is the ability to view the spatial data right in SQL Management Studio.&amp;#160;
Note this doesn't seem to be available in the Express edition of Management Studio.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
AutoCAD Map and Mapguide seem to work pretty well with SQL 2008.&amp;#160; I plan to load
some larger data sets into SQL 2008 in the coming weeks to see how it performs in
comparison to Oracle spatial.
&lt;/p&gt;
&lt;p&gt;
Here is a tip for planning for AU.&amp;#160; Consider budgeting to eat outside of the
Autodesk provided buffets.&amp;#160; =)
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2436ad29-4941-4871-97a7-0074cc4d425b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Autodesk%20University" rel="tag"&gt;Autodesk
University&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Mapguide%20Enterprise" rel="tag"&gt;Mapguide
Enterprise&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL%20Server%20Spatial" rel="tag"&gt;SQL
Server Spatial&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=6bd682bf-5041-4b35-b76d-9500ec58b3b3" /&gt;</description>
      <category>Autodesk University</category>
      <category>Mapguide Enterprise</category>
      <category>SQL Server Spatial</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=c305a1c7-2b2d-4441-9688-a2e9500ef521</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,c305a1c7-2b2d-4441-9688-a2e9500ef521.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m on the plane heading to Las Vegas. The time has come for another <a href="http://au.autodesk.com/" target="_blank">Autodesk
University</a>. Yay for my annual “vacation”. This trip is going to be
packed full of meetings, classes, and World of Warcraft =). To all my devoted readers,
I must apologize for the one month delay in posts. I’ll be working on getting
everyone up to speed on what has been going on in the past month here. I hope to post
once per day on cool and awesome things at AU. Hopefully there is something cool and
awesome at least once per day.
</p>
        <p>
I also have to add that bringing small children on airplanes is cruel, the US Airways
coffee sucks, but the orange juice is great =)
</p>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=c305a1c7-2b2d-4441-9688-a2e9500ef521" />
      </body>
      <title>Time for Autodesk University 2008</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,c305a1c7-2b2d-4441-9688-a2e9500ef521.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/11/29/TimeForAutodeskUniversity2008.aspx</link>
      <pubDate>Sat, 29 Nov 2008 23:24:04 GMT</pubDate>
      <description>&lt;p&gt;
I&amp;#8217;m on the plane heading to Las Vegas. The time has come for another &lt;a href="http://au.autodesk.com/" target="_blank"&gt;Autodesk
University&lt;/a&gt;. Yay for my annual &amp;#8220;vacation&amp;#8221;. This trip is going to be
packed full of meetings, classes, and World of Warcraft =). To all my devoted readers,
I must apologize for the one month delay in posts. I&amp;#8217;ll be working on getting
everyone up to speed on what has been going on in the past month here. I hope to post
once per day on cool and awesome things at AU. Hopefully there is something cool and
awesome at least once per day.
&lt;/p&gt;
&lt;p&gt;
I also have to add that bringing small children on airplanes is cruel, the US Airways
coffee sucks, but the orange juice is great =)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=c305a1c7-2b2d-4441-9688-a2e9500ef521" /&gt;</description>
      <category>Autodesk University</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=21d89590-e0d3-4aa9-b1f5-a094c04a9273</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,21d89590-e0d3-4aa9-b1f5-a094c04a9273.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So, finally I got fed up with working from a 32 bit XP virtual machine and spent a
little more time on this issue.  I’ve managed to get my Vista Ultimate a la x64
mostly working.  Where I went wrong <a title="Vista Ultimate x64 and Oracle Client Fun" href="http://www.webrade.com/blogs/darrin/2008/07/11/ODACODPNETOnVistaX64.aspx" target="_blank" rel="tag">the
last time</a> (aside from trying to figure this out in the middle of the night in
a shitty mood because I had spent so much time head banging with a wall) was using
the 64 bit client.  
</p>
        <p>
The correct path to Oracle happiness in my case was the 11g client.  It works
great with my 10.2 server.  The important bit in was to use the 32 bit install
rather than the 64 bit install.  One of my primary tools for accessing Oracle
is <a title="Toad for Oracle" href="http://www.quest.com/toad-for-oracle/" target="_blank" rel="tag">Toad
for Oracle</a> 9.x.  Quest Software states that Toad for Oracle 9.6 is the first
version to really support the 11g client.  However, it does NOT support the x64
client.
</p>
        <p>
So the last time I tried to solve this, after a long day, and a fun night of head
banging with a wall – when I tried the 11g client, I used x64 cbuild – and saw that
Toad wouldn’t work, I threw a little hissyfit and went to bed.  Long story short,
installing both the 32bit <a title="Oracle 11g client" href="http://www.oracle.com/technology/software/products/database/oracle11g/111060_win32soft.html" target="_blank" rel="tag">11g
client</a> and <a title="Oracle 11g ODAC/ODP" href="http://www.oracle.com/technology/software/tech/windows/odpnet/index.html" target="_blank" rel="tag">11g
ODAC/ODP</a> seems to have done the trick.  Now – there is one important little
piece o’ information that you will need to know.  Though I have not confirmed
this, I suspect that x64 applications will not be able to use the driver.  
</p>
        <p>
That said, from a development point of view you will need to set IIS to run at 32
bit.  On IIS 5.x/6.x this is a server wide setting from a dos window:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span> cscript
%SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
1</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe
-i</pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
If you’re running Vista or Server 2008 with IIS7, you have things a little better. 
You can configure each application pool to run as 32 or 64 bit.  For winform
development, change the compile properties of the project to set the target platform
to be x86.
</p>
        <p>
I’m really glad that’s over…but I still want a proper x64 ODAC.  Come on Oracle
.. =)
</p>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=21d89590-e0d3-4aa9-b1f5-a094c04a9273" />
      </body>
      <title>Oracle Client/ODAC on Vista x64 Mostly Working… Finally</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,21d89590-e0d3-4aa9-b1f5-a094c04a9273.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/10/23/OracleClientODACOnVistaX64MostlyWorkingFinally.aspx</link>
      <pubDate>Thu, 23 Oct 2008 19:32:38 GMT</pubDate>
      <description>&lt;p&gt;
So, finally I got fed up with working from a 32 bit XP virtual machine and spent a
little more time on this issue.&amp;#160; I’ve managed to get my Vista Ultimate a la x64
mostly working.&amp;#160; Where I went wrong &lt;a title="Vista Ultimate x64 and Oracle Client Fun" href="http://www.webrade.com/blogs/darrin/2008/07/11/ODACODPNETOnVistaX64.aspx" target="_blank" rel="tag"&gt;the
last time&lt;/a&gt; (aside from trying to figure this out in the middle of the night in
a shitty mood because I had spent so much time head banging with a wall) was using
the 64 bit client.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
The correct path to Oracle happiness in my case was the 11g client.&amp;#160; It works
great with my 10.2 server.&amp;#160; The important bit in was to use the 32 bit install
rather than the 64 bit install.&amp;#160; One of my primary tools for accessing Oracle
is &lt;a title="Toad for Oracle" href="http://www.quest.com/toad-for-oracle/" target="_blank" rel="tag"&gt;Toad
for Oracle&lt;/a&gt; 9.x.&amp;#160; Quest Software states that Toad for Oracle 9.6 is the first
version to really support the 11g client.&amp;#160; However, it does NOT support the x64
client.
&lt;/p&gt;
&lt;p&gt;
So the last time I tried to solve this, after a long day, and a fun night of head
banging with a wall – when I tried the 11g client, I used x64 cbuild – and saw that
Toad wouldn’t work, I threw a little hissyfit and went to bed.&amp;#160; Long story short,
installing both the 32bit &lt;a title="Oracle 11g client" href="http://www.oracle.com/technology/software/products/database/oracle11g/111060_win32soft.html" target="_blank" rel="tag"&gt;11g
client&lt;/a&gt; and &lt;a title="Oracle 11g ODAC/ODP" href="http://www.oracle.com/technology/software/tech/windows/odpnet/index.html" target="_blank" rel="tag"&gt;11g
ODAC/ODP&lt;/a&gt; seems to have done the trick.&amp;#160; Now – there is one important little
piece o’ information that you will need to know.&amp;#160; Though I have not confirmed
this, I suspect that x64 applications will not be able to use the driver.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
That said, from a development point of view you will need to set IIS to run at 32
bit.&amp;#160; On IIS 5.x/6.x this is a server wide setting from a dos window:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; 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;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: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; cscript
%SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64
1&lt;/pre&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: #606060"&gt; 2:&lt;/span&gt; %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe
-i&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
If you’re running Vista or Server 2008 with IIS7, you have things a little better.&amp;#160;
You can configure each application pool to run as 32 or 64 bit.&amp;#160; For winform
development, change the compile properties of the project to set the target platform
to be x86.
&lt;/p&gt;
&lt;p&gt;
I’m really glad that’s over…but I still want a proper x64 ODAC.&amp;#160; Come on Oracle
.. =)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=21d89590-e0d3-4aa9-b1f5-a094c04a9273" /&gt;</description>
      <category>ODP.NET</category>
      <category>Oracle</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=046f5908-d0dc-4bff-b153-0f2b0b14e41c</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,046f5908-d0dc-4bff-b153-0f2b0b14e41c.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yay.  Autodesk today released an update for both the <a title="Autodesk Mapguide Enterprise" href="http://www.mapguide.com" target="_blank">Mapguide
Enterprise</a> Web Tier, Server and Studio.  This release should catch Enterprise
up a little more closely to the Open Source edition.  A PDF with containing some
of the changes can be found <a title="Mapguide Enterprise 2009 Update 1 Release Notes" href="http://images.autodesk.com/adsk/files/autodeskmapguideupdatereadme_enu.pdf" target="_blank" rel="tag">here</a>.  <a title="Mapguide Enterprise 2009 Update 1" href="http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&amp;id=12004070&amp;linkID=9242179" target="_blank" rel="tag">Check
out the updates.</a>  Some of these updates are pretty critical (ie. the FireFox
3 takes out your Mapguide server).  Looks like many performances updates have
made it in also.
</p>
        <p>
Thanks Autodesk! =)
</p>
        <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1ea7ceb5-a8fa-41c3-9964-0fb928ec85e2" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Mapguide+Enterprise" rel="tag">Mapguide
Enterprise</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=046f5908-d0dc-4bff-b153-0f2b0b14e41c" />
      </body>
      <title>Mapguide Enterprise 2009 Update 1 (For Windows)</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,046f5908-d0dc-4bff-b153-0f2b0b14e41c.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/10/22/MapguideEnterprise2009Update1ForWindows.aspx</link>
      <pubDate>Wed, 22 Oct 2008 16:59:12 GMT</pubDate>
      <description>&lt;p&gt;
Yay.&amp;#160; Autodesk today released an update for both the &lt;a title="Autodesk Mapguide Enterprise" href="http://www.mapguide.com" target="_blank"&gt;Mapguide
Enterprise&lt;/a&gt; Web Tier, Server and Studio.&amp;#160; This release should catch Enterprise
up a little more closely to the Open Source edition.&amp;#160; A PDF with containing some
of the changes can be found &lt;a title="Mapguide Enterprise 2009 Update 1 Release Notes" href="http://images.autodesk.com/adsk/files/autodeskmapguideupdatereadme_enu.pdf" target="_blank" rel="tag"&gt;here&lt;/a&gt;.&amp;#160; &lt;a title="Mapguide Enterprise 2009 Update 1" href="http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&amp;amp;id=12004070&amp;amp;linkID=9242179" target="_blank" rel="tag"&gt;Check
out the updates.&lt;/a&gt;&amp;#160; Some of these updates are pretty critical (ie. the FireFox
3 takes out your Mapguide server).&amp;#160; Looks like many performances updates have
made it in also.
&lt;/p&gt;
&lt;p&gt;
Thanks Autodesk! =)
&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1ea7ceb5-a8fa-41c3-9964-0fb928ec85e2" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Mapguide+Enterprise" rel="tag"&gt;Mapguide
Enterprise&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=046f5908-d0dc-4bff-b153-0f2b0b14e41c" /&gt;</description>
      <category>Mapguide Enterprise</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=71384e13-7d10-4e05-a0c8-27319f82108f</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,71384e13-7d10-4e05-a0c8-27319f82108f.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <b>ORA-13226:</b> Interface not supported without a spatial index.
</p>
        <p>
I hate that error.  Someone would give me a new Oracle dump file.  I’d try
to view the spatial data and boom - ORA-13226.  If I was lucky, there was only
a couple of tables in it.  Chances are, there were hundreds of tables in it. 
Sometimes I’d need to add the reference to the USER_SDO_GEOM_METADATA view, sometimes
I wouldn’t.   Sometimes the index would already exist and just need to be
rebuilt.
</p>
        <p>
Regardless of the scenario, it would often involve a lot of SQL – or messing around
to try and remember the SQL.  Every time this would pop up I would think to myself,
“I really should write an app…”.  Well I finally did.
</p>
        <p>
So, here is my announcement.  The RADE Spatial Indexer is just about ready for
beta.  Initially this app does three things.
</p>
        <ul>
          <li>
It will list tables and views with geometry columns that are not part of the USER_SDO_GEOM_META
data view and help you add them. 
</li>
          <li>
It will list spatial tables without indexes and help you create them. 
</li>
          <li>
It will list spatial tables with indexes and help you re-index them. 
</li>
        </ul>
        <p>
No more exporting queries to text files and using a macro to edit them to build your
SQL for rebuilding those indexes.  I’ve tried to add some nice friendly helpers,
such as a button that will suggest the spatial metadata settings for a table based
on the existing meta data records.  The ability to mass create or rebuild indexes
is also been a fantastic helper.
</p>
        <p>
I’m recruiting brave individuals for a small closed beta program that will begin in
about two weeks.  If you are interested in being a tester please e-mail indexer
(at) webrade.com and let me know.  Alternately you can contact me with the contact
me link on the blog here  Remember, this is a beta – so I really do not suggest
you run this on a production, or important server.  That said, I have been using
it in various states on my own ‘production’ development Oracle server.
</p>
        <p>
As an incentive for helping me out.  If you submit feedback (be it a bug report
or feature request) – I will set you up with a free license once we release 1.0. 
I know you’re hooked and want to sign up.  I know it.  Just in case you
need a little more, here is a few screen caps..
</p>
        <p>
Look at how easy it could be to define metadata.  Click the suggest button and
it will iterate through the metadata settings for other spatial tables in the schema. 
Once you have one row defined, use the sync button to set all rows to the same values. 
Click process and its done.
</p>
        <p>
          <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_6.png">
            <img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="484" alt="image" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_thumb_2.png" width="638" border="0" />
          </a>
        </p>
        <p>
Within seconds, have hundreds of spatial indexes being re-created…Creating new indexes
is almost as easy.
</p>
        <p>
          <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_8.png">
            <img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="483" alt="image" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_thumb_3.png" width="644" border="0" />
          </a>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:37ee5dc1-a464-469d-9b29-8924167e64c3" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/RADE" rel="tag">RADE</a>,<a href="http://technorati.com/tags/Oracle+Spatial" rel="tag">Oracle
Spatial</a>,<a href="http://technorati.com/tags/Spatial+Indexer" rel="tag">Spatial
Indexer</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=71384e13-7d10-4e05-a0c8-27319f82108f" />
      </body>
      <title>Announcing the RADE Spatial Indexer</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,71384e13-7d10-4e05-a0c8-27319f82108f.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/10/11/AnnouncingTheRADESpatialIndexer.aspx</link>
      <pubDate>Sat, 11 Oct 2008 05:31:37 GMT</pubDate>
      <description>&lt;p&gt;
&lt;b&gt;ORA-13226:&lt;/b&gt; Interface not supported without a spatial index.
&lt;/p&gt;
&lt;p&gt;
I hate that error.&amp;#160; Someone would give me a new Oracle dump file.&amp;#160; I’d try
to view the spatial data and boom - ORA-13226.&amp;#160; If I was lucky, there was only
a couple of tables in it.&amp;#160; Chances are, there were hundreds of tables in it.&amp;#160;
Sometimes I’d need to add the reference to the USER_SDO_GEOM_METADATA view, sometimes
I wouldn’t.&amp;#160;&amp;#160; Sometimes the index would already exist and just need to be
rebuilt.
&lt;/p&gt;
&lt;p&gt;
Regardless of the scenario, it would often involve a lot of SQL – or messing around
to try and remember the SQL.&amp;#160; Every time this would pop up I would think to myself,
“I really should write an app…”.&amp;#160; Well I finally did.
&lt;/p&gt;
&lt;p&gt;
So, here is my announcement.&amp;#160; The RADE Spatial Indexer is just about ready for
beta.&amp;#160; Initially this app does three things.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
It will list tables and views with geometry columns that are not part of the USER_SDO_GEOM_META
data view and help you add them. 
&lt;/li&gt;
&lt;li&gt;
It will list spatial tables without indexes and help you create them. 
&lt;/li&gt;
&lt;li&gt;
It will list spatial tables with indexes and help you re-index them. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
No more exporting queries to text files and using a macro to edit them to build your
SQL for rebuilding those indexes.&amp;#160; I’ve tried to add some nice friendly helpers,
such as a button that will suggest the spatial metadata settings for a table based
on the existing meta data records.&amp;#160; The ability to mass create or rebuild indexes
is also been a fantastic helper.
&lt;/p&gt;
&lt;p&gt;
I’m recruiting brave individuals for a small closed beta program that will begin in
about two weeks.&amp;#160; If you are interested in being a tester please e-mail indexer
(at) webrade.com and let me know.&amp;#160; Alternately you can contact me with the contact
me link on the blog here&amp;#160; Remember, this is a beta – so I really do not suggest
you run this on a production, or important server.&amp;#160; That said, I have been using
it in various states on my own ‘production’ development Oracle server.
&lt;/p&gt;
&lt;p&gt;
As an incentive for helping me out.&amp;#160; If you submit feedback (be it a bug report
or feature request) – I will set you up with a free license once we release 1.0.&amp;#160;
I know you’re hooked and want to sign up.&amp;#160; I know it.&amp;#160; Just in case you
need a little more, here is a few screen caps..
&lt;/p&gt;
&lt;p&gt;
Look at how easy it could be to define metadata.&amp;#160; Click the suggest button and
it will iterate through the metadata settings for other spatial tables in the schema.&amp;#160;
Once you have one row defined, use the sync button to set all rows to the same values.&amp;#160;
Click process and its done.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_6.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="484" alt="image" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_thumb_2.png" width="638" border="0" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Within seconds, have hundreds of spatial indexes being re-created…Creating new indexes
is almost as easy.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_8.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="483" alt="image" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/AnnouncingtheRADESpatialIndexerClosedBet_14223/image_thumb_3.png" width="644" border="0" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:37ee5dc1-a464-469d-9b29-8924167e64c3" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/RADE" rel="tag"&gt;RADE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Oracle+Spatial" rel="tag"&gt;Oracle
Spatial&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Spatial+Indexer" rel="tag"&gt;Spatial
Indexer&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=71384e13-7d10-4e05-a0c8-27319f82108f" /&gt;</description>
      <category>Oracle Spatial</category>
      <category>RADE</category>
      <category>Spatial Indexer</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=b8396070-9d13-4719-b0de-aa29a703c0a1</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,b8396070-9d13-4719-b0de-aa29a703c0a1.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have enough junk running on my development machine.  In an effort to try and
keep my workstation speedy - I don't install any unnecessary services (Oracle server,
Mapguide Server etc) on this machine.  In a larger development environment, running
multiple servers on local development machines has a few other less than desirable
results.  For example licensing issues and costs could increase, data management
can become more complex, and just managing the extra services on N machines could
cause a lot more work for your already overworked IT guy.
</p>
        <p>
So instead I have centralized my server resources into a nice VM setup running on
my beefy Dell server.  Now, regardless of which machine I use to develop I can
still access the same data sets.  This is especially nice when traveling. 
Specifically Mapguide Server and web tier are installed on my development web server. 
When coding, I will either use my local IIS or the built in Visual Studio web server. 
This poses one problem when working with Mapguide.  Referencing the web tier
on the shared server from another web server will result in <a title="Cross Site Scripting Explained" href="http://en.wikipedia.org/wiki/Cross-site_scripting" target="_blank" rel="tag">cross
site scripting</a> (XSS) errors.  Basically, javascript on one web server cannot
access javascript code on another web server, which under most circumstances is a
good thing.  When trying to develop using the Mapguide Web API on a central Mapguide
server this poses a problem as the web tier API is wholly contained within the virtual
directory on another server.  Gotta love when 'security' jumps up bites us in
the behind.
</p>
        <p>
The simple solution to this problem is to install the Mapguide web tier on every development
machine.  This will require that each development machine have a web server installed,
but chances are that is already the case.  When installing the web tier be sure
to have the IP address of the Mapguide server handy as it will needed during the install. 
Once the web tier is running locally, reference the local web tier in your URLs and
the cross site scripting vulnerabilities go away!  If you're running the 64 Bit
version of Vista on your development machine, check out my post installing the <a title="Installing Mapguide Web Tier on Vista x64" href="http://www.webrade.com/blogs/darrin/2008/05/01/ManuallyConfigureMapguide2009WebTierOnVistaX64IIS7.aspx" target="_blank" rel="tag">web
tier on Vista x64</a></p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fd827f2b-17b5-492c-bf31-b99b1dda5cd6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Mapguide" rel="tag">Mapguide</a>,<a href="http://technorati.com/tags/Javascript" rel="tag">Javascript</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=b8396070-9d13-4719-b0de-aa29a703c0a1" />
      </body>
      <title>Developing with Mapguide Enterprise / Open Source in a shared server environment</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,b8396070-9d13-4719-b0de-aa29a703c0a1.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/09/26/DevelopingWithMapguideEnterpriseOpenSourceInASharedServerEnvironment.aspx</link>
      <pubDate>Fri, 26 Sep 2008 19:41:01 GMT</pubDate>
      <description>&lt;p&gt;
I have enough junk running on my development machine.&amp;nbsp; In an effort to try and
keep my workstation speedy - I don't install any unnecessary services (Oracle server,
Mapguide Server etc) on this machine.&amp;nbsp; In a larger development environment, running
multiple servers on local development machines has a few other less than desirable
results.&amp;nbsp; For example licensing issues and costs could increase, data management
can become more complex, and just managing the extra services on N machines could
cause a lot more work for your already overworked IT guy.
&lt;/p&gt;
&lt;p&gt;
So instead I have centralized my server resources into a nice VM setup running on
my beefy Dell server.&amp;nbsp; Now, regardless of which machine I use to develop I can
still access the same data sets.&amp;nbsp; This is especially nice when traveling.&amp;nbsp;
Specifically Mapguide Server and web tier are installed on my development web server.&amp;nbsp;
When coding, I will either use my local IIS or the built in Visual Studio web server.&amp;nbsp;
This poses one problem when working with Mapguide.&amp;nbsp; Referencing the web tier
on the shared server from another web server will result in &lt;a title="Cross Site Scripting Explained" href="http://en.wikipedia.org/wiki/Cross-site_scripting" target="_blank" rel="tag"&gt;cross
site scripting&lt;/a&gt; (XSS) errors.&amp;nbsp; Basically, javascript on one web server cannot
access javascript code on another web server, which under most circumstances is a
good thing.&amp;nbsp; When trying to develop using the Mapguide Web API on a central Mapguide
server this poses a problem as the web tier API is wholly contained within the virtual
directory on another server.&amp;nbsp; Gotta love when 'security' jumps up bites us in
the behind.
&lt;/p&gt;
&lt;p&gt;
The simple solution to this problem is to install the Mapguide web tier on every development
machine.&amp;nbsp; This will require that each development machine have a web server installed,
but chances are that is already the case.&amp;nbsp; When installing the web tier be sure
to have the IP address of the Mapguide server handy as it will needed during the install.&amp;nbsp;
Once the web tier is running locally, reference the local web tier in your URLs and
the cross site scripting vulnerabilities go away!&amp;nbsp; If you're running the 64 Bit
version of Vista on your development machine, check out my post installing the &lt;a title="Installing Mapguide Web Tier on Vista x64" href="http://www.webrade.com/blogs/darrin/2008/05/01/ManuallyConfigureMapguide2009WebTierOnVistaX64IIS7.aspx" target="_blank" rel="tag"&gt;web
tier on Vista x64&lt;/a&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fd827f2b-17b5-492c-bf31-b99b1dda5cd6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Mapguide" rel="tag"&gt;Mapguide&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Javascript" rel="tag"&gt;Javascript&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=b8396070-9d13-4719-b0de-aa29a703c0a1" /&gt;</description>
      <category>Javascript</category>
      <category>Mapguide</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=391ab0f9-20dd-4e25-b845-785a140b7d2c</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,391ab0f9-20dd-4e25-b845-785a140b7d2c.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Over the years, this problem has sporadically appeared (probably once or twice a year). 
In the Mapguide 6.5 server admin when creating a new data source the Autodesk Spatial
Data Provider for Oracle Spatial doesn't appear as an option.  Every time this
comes up I end up wracking my brain to remember what the solution is.  I know
I've dealt with this many times - but I cannot remember the details.  Usually
it's occurring on a customer's production server which is not a place I like to mess
around.  This time, it was my development server - let the messing around begin!
</p>
        <p>
In a nutshell this is a result of installing Mapguide server before the Oracle client
is installed on the server.  The solution is to do a repair install of Mapguide
Server (or a re-install if you prefer) once the Oracle client is installed. 
Hopefully next year when this comes up again - writing this down will help me remember. 
Worst case Google might pick this up and I'll find my own post when I search for it...
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:333f7d65-393c-4d15-a62f-8dcc21c0d51d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Mapguide" rel="tag">Mapguide</a>,<a href="http://technorati.com/tags/Oracle%20Spatial" rel="tag">Oracle
Spatial</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=391ab0f9-20dd-4e25-b845-785a140b7d2c" />
      </body>
      <title>Mapguide 6.5 Server - Missing the Autodesk Spatial Data Provider for Oracle Spatial</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,391ab0f9-20dd-4e25-b845-785a140b7d2c.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/09/25/Mapguide65ServerMissingTheAutodeskSpatialDataProviderForOracleSpatial.aspx</link>
      <pubDate>Thu, 25 Sep 2008 06:41:38 GMT</pubDate>
      <description>&lt;p&gt;
Over the years, this problem has sporadically appeared (probably once or twice a year).&amp;nbsp;
In the Mapguide 6.5 server admin when creating a new data source the Autodesk Spatial
Data Provider for Oracle Spatial doesn't appear as an option.&amp;nbsp; Every time this
comes up I end up wracking my brain to remember what the solution is.&amp;nbsp; I know
I've dealt with this many times - but I cannot remember the details.&amp;nbsp; Usually
it's occurring on a customer's production server which is not a place I like to mess
around.&amp;nbsp; This time, it was my development server - let the messing around begin!
&lt;/p&gt;
&lt;p&gt;
In a nutshell this is a result of installing Mapguide server before the Oracle client
is installed on the server.&amp;nbsp; The solution is to do a repair install of Mapguide
Server (or a re-install if you prefer) once the Oracle client is installed.&amp;nbsp;
Hopefully next year when this comes up again - writing this down will help me remember.&amp;nbsp;
Worst case Google might pick this up and I'll find my own post when I search for it...
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:333f7d65-393c-4d15-a62f-8dcc21c0d51d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Mapguide" rel="tag"&gt;Mapguide&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Oracle%20Spatial" rel="tag"&gt;Oracle
Spatial&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=391ab0f9-20dd-4e25-b845-785a140b7d2c" /&gt;</description>
      <category>Mapguide</category>
      <category>Oracle Spatial</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=aee04351-8fd4-41a7-a806-22c510c7a6cd</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,aee04351-8fd4-41a7-a806-22c510c7a6cd.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Another day, another fun error message.  Thanks to all the fun I've been having
with <a title="Fun with Oracle on Vista x64" href="http://www.webrade.com/blogs/darrin/2008/07/11/ODACODPNETOnVistaX64.aspx" target="_blank" rel="tag">Oracle
X64 on Vista</a> - I've given up and created a new virtual machine with XP Pro to
run Visual Studio in.   So I grab the latest revision from source control
and load the solution in Visual Studio.  Boom.  Sytem.Runtime.InteropServices.ComException. 
That's it. No more details.  This is one of those errors where it could be just
about anything.  A <a title="search on System.Runtime.InteropServices.ComException" href="http://www.google.ca/search?hl=en&amp;q=system.runtime.interopservices.comexception+visual+studio+2008&amp;btnG=Search&amp;meta=" target="_blank" rel="tag">quick
search on the topic</a> gives way too many results.
</p>
        <p>
So I'm going to add one more search result on this error message.  After much
muckery - I've resolved my instance of the problem.  The background is simple. 
I have an ASP.NET web application with a few DLL projects and a deployment project. 
As stated, I've created a new install of Windows XP.  First ensure that you have
the <a title="Visual Studio 2008 Web Deployment Project Addon" href="http://www.microsoft.com/downloads/details.aspx?familyid=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&amp;displaylang=en" target="_blank" rel="tag">2008
Web Deployment Project</a> add-on installed.  That can also cause this error
(in some cases).
</p>
        <p>
The key thing in this case was the lack of IIS on the machine.  On my primary
development machine (the one where Oracle is a massive pain) I do have IIS installed,
and the last time I ran this project from that machine - Oracle was working OK with
the data access hack.  But apparently something has changed on that box and now
I'm getting the evil "<i>Oracle client and networking components were not found.</i>"
error.  So I gave up.
</p>
        <p>
First obvious work around is to install IIS.  I'm sick of messing around today,
and just want to work.  So the quicker solution is to enable the built in development
web server.  This can be accomplished by right clicking the unloaded project
in the Visual Studio solution explorer and choosing "Edit &lt;projectname.whateverlanguateyouuseproj&gt;". 
This will bring up the XML view of the project.  Find the ProjectExtensions section
of the config and change UseIIS to be False.  Setting this up could also prevent
problems when you have a larger, or more dynamic team accessing the project.
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">ProjectExtensions</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">VisualStudio</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">FlavorProperties</span>
              <span style="color: #ff0000">GUID</span>
              <span style="color: #0000ff">="{349c5851-65df-11da-9384-00065b846f21}"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">WebProjectProperties</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">UseIIS</span>
              <span style="color: #0000ff">&gt;</span>False<span style="color: #0000ff">&lt;/</span><span style="color: #800000">UseIIS</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">AutoAssignPort</span>
              <span style="color: #0000ff">&gt;</span>False<span style="color: #0000ff">&lt;/</span><span style="color: #800000">AutoAssignPort</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">DevelopmentServerPort</span>
              <span style="color: #0000ff">&gt;</span>4088<span style="color: #0000ff">&lt;/</span><span style="color: #800000">DevelopmentServerPort</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">DevelopmentServerVPath</span>
              <span style="color: #0000ff">&gt;</span>/webrade<span style="color: #0000ff">&lt;/</span><span style="color: #800000">DevelopmentServerVPath</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">IISUrl</span>
              <span style="color: #0000ff">&gt;</span>http://localhost/WebRADE32<span style="color: #0000ff">&lt;/</span><span style="color: #800000">IISUrl</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">NTLMAuthentication</span>
              <span style="color: #0000ff">&gt;</span>False<span style="color: #0000ff">&lt;/</span><span style="color: #800000">NTLMAuthentication</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 11:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">UseCustomServer</span>
              <span style="color: #0000ff">&gt;</span>False<span style="color: #0000ff">&lt;/</span><span style="color: #800000">UseCustomServer</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 12:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">CustomServerUrl</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 13:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">CustomServerUrl</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 14:</span>
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">SaveServerSettingsInUserFile</span>
              <span style="color: #0000ff">&gt;</span>False<span style="color: #0000ff">&lt;/</span><span style="color: #800000">SaveServerSettingsInUserFile</span><span style="color: #0000ff">&gt;</span></pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 15:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">WebProjectProperties</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 16:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">FlavorProperties</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 17:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">VisualStudio</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 18:</span>
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">ProjectExtensions</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
Reload the project, and it should load now.
</p>
        <p>
P.S. Oracle, please please please release something for Vista x64 and ODAC/ODP. 
Even an alpha.  I promise I will test on an x86 machine before I release..
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5124f172-77aa-4aa8-a12d-c1fe3a5e0c03" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Visual%20Studio" rel="tag">Visual Studio</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a></div>
        <img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=aee04351-8fd4-41a7-a806-22c510c7a6cd" />
      </body>
      <title>System.Runtime.InteropServices.ComException Loading ASP.NET Web Application in Visual Studio 2008</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,aee04351-8fd4-41a7-a806-22c510c7a6cd.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/09/03/SystemRuntimeInteropServicesComExceptionLoadingASPNETWebApplicationInVisualStudio2008.aspx</link>
      <pubDate>Wed, 03 Sep 2008 22:04:14 GMT</pubDate>
      <description>&lt;p&gt;
Another day, another fun error message.&amp;nbsp; Thanks to all the fun I've been having
with &lt;a title="Fun with Oracle on Vista x64" href="http://www.webrade.com/blogs/darrin/2008/07/11/ODACODPNETOnVistaX64.aspx" target="_blank" rel="tag"&gt;Oracle
X64 on Vista&lt;/a&gt; - I've given up and created a new virtual machine with XP Pro to
run Visual Studio in.&amp;nbsp;&amp;nbsp; So I grab the latest revision from source control
and load the solution in Visual Studio.&amp;nbsp; Boom.&amp;nbsp; Sytem.Runtime.InteropServices.ComException.&amp;nbsp;
That's it. No more details.&amp;nbsp; This is one of those errors where it could be just
about anything.&amp;nbsp; A &lt;a title="search on System.Runtime.InteropServices.ComException" href="http://www.google.ca/search?hl=en&amp;amp;q=system.runtime.interopservices.comexception+visual+studio+2008&amp;amp;btnG=Search&amp;amp;meta=" target="_blank" rel="tag"&gt;quick
search on the topic&lt;/a&gt; gives way too many results.
&lt;/p&gt;
&lt;p&gt;
So I'm going to add one more search result on this error message.&amp;nbsp; After much
muckery - I've resolved my instance of the problem.&amp;nbsp; The background is simple.&amp;nbsp;
I have an ASP.NET web application with a few DLL projects and a deployment project.&amp;nbsp;
As stated, I've created a new install of Windows XP.&amp;nbsp; First ensure that you have
the &lt;a title="Visual Studio 2008 Web Deployment Project Addon" href="http://www.microsoft.com/downloads/details.aspx?familyid=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&amp;amp;displaylang=en" target="_blank" rel="tag"&gt;2008
Web Deployment Project&lt;/a&gt; add-on installed.&amp;nbsp; That can also cause this error
(in some cases).
&lt;/p&gt;
&lt;p&gt;
The key thing in this case was the lack of IIS on the machine.&amp;nbsp; On my primary
development machine (the one where Oracle is a massive pain) I do have IIS installed,
and the last time I ran this project from that machine - Oracle was working OK with
the data access hack.&amp;nbsp; But apparently something has changed on that box and now
I'm getting the evil "&lt;i&gt;Oracle client and networking components were not found.&lt;/i&gt;"
error.&amp;nbsp; So I gave up.
&lt;/p&gt;
&lt;p&gt;
First obvious work around is to install IIS.&amp;nbsp; I'm sick of messing around today,
and just want to work.&amp;nbsp; So the quicker solution is to enable the built in development
web server.&amp;nbsp; This can be accomplished by right clicking the unloaded project
in the Visual Studio solution explorer and choosing "Edit &amp;lt;projectname.whateverlanguateyouuseproj&amp;gt;".&amp;nbsp;
This will bring up the XML view of the project.&amp;nbsp; Find the ProjectExtensions section
of the config and change UseIIS to be False.&amp;nbsp; Setting this up could also prevent
problems when you have a larger, or more dynamic team accessing the project.
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ProjectExtensions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;VisualStudio&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FlavorProperties&lt;/span&gt; &lt;span style="color: #ff0000"&gt;GUID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{349c5851-65df-11da-9384-00065b846f21}"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;WebProjectProperties&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;UseIIS&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;False&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;UseIIS&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;AutoAssignPort&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;False&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;AutoAssignPort&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DevelopmentServerPort&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;4088&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DevelopmentServerPort&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DevelopmentServerVPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;/webrade&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DevelopmentServerVPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;IISUrl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost/WebRADE32&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;IISUrl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;NTLMAuthentication&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;False&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;NTLMAuthentication&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;UseCustomServer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;False&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;UseCustomServer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomServerUrl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomServerUrl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 14:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SaveServerSettingsInUserFile&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;False&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;SaveServerSettingsInUserFile&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;WebProjectProperties&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 16:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FlavorProperties&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 17:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;VisualStudio&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 18:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ProjectExtensions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Reload the project, and it should load now.
&lt;/p&gt;
&lt;p&gt;
P.S. Oracle, please please please release something for Vista x64 and ODAC/ODP.&amp;nbsp;
Even an alpha.&amp;nbsp; I promise I will test on an x86 machine before I release..
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5124f172-77aa-4aa8-a12d-c1fe3a5e0c03" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Visual%20Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=aee04351-8fd4-41a7-a806-22c510c7a6cd" /&gt;</description>
      <category>ASP.NET</category>
      <category>Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://www.webrade.com/blogs/darrin/Trackback.aspx?guid=9bbaea28-5b82-4c48-a836-dd49945adc41</trackback:ping>
      <pingback:server>http://www.webrade.com/blogs/darrin/pingback.aspx</pingback:server>
      <pingback:target>http://www.webrade.com/blogs/darrin/PermaLink,guid,9bbaea28-5b82-4c48-a836-dd49945adc41.aspx</pingback:target>
      <dc:creator>Darrin Maidlow</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Javascript compression is something I had on my list for the next major release of
RADE.  RADE is not quite ready for this step yet, so I thought I would give it
a shot on Mapguide Enterprise and see what kind of results it would yield.  For
a small site or an internal site this will probably not yield significant benefits. 
However if you run a large public site javascript compression could squeeze out some
more performance as well as save you on bandwidth costs.  Yahoo has a good article
on <a title="empty cache performance" href="http://yuiblog.com/blog/2007/01/04/performance-research-part-2/" target="_blank" rel="tag">performance
and the "empty cache"</a>.
</p>
        <p>
I did some brief looking around and word on the internets is that the <a title="YUI Javascript compressor" href="http://developer.yahoo.com/yui/compressor/" target="_blank" rel="tag">YUI
compressor</a> is one of the better compressors out there.  The YUI compressor
is an open source java applet.   This *should* work with Mapguide Open,
heck this might even be done already in MGOS - but I am only using Enterprise so I
cannot confirm, deny, or test this.   
</p>
        <p>
Some of the key things the compressor will do:
</p>
        <ol>
          <li>
remove all comments 
</li>
          <li>
remove all white space and line breaks 
</li>
          <li>
rename all local variables and parameters to single characters</li>
        </ol>
        <p>
The YUI compressor should not alter variable values or your logic in any way.
</p>
        <p>
To use the YUI compressor you will need to <a title="Download Java" href="http://www.java.com/en/" target="_blank" rel="tag">have
Java installed</a>.  Note that if you have the Oracle client installed, you probably
have Java already  Once you have Java, you can download a copy of the <a title="download the YUI compress" href="http://www.julienlecomte.net/yuicompressor/" target="_blank" rel="tag">YUI
compressor</a> (I'm going to start referring to it as the YC now...).  If you
don't feel like downloading Java and the YC - I've attached the processed files at
the bottom of this post.
</p>
        <p>
Lets first look at the javascript shipped with Mapguide Enterprise.  If you browse
to your web server extension viewer files (the default location is C:\Program Files\Autodesk\MapGuideEnterprise2009\WebServerExtensions\www\viewerfiles
I believe) you will see ten javascript files.  If you choose to process these
files on your own please back them up first.  Don't blame me if you don't backup
your files and something goes wrong =).
</p>
        <p>
Before YC:
</p>
        <p>
          <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_2.png" target="_blank">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="242" alt="Mapgude Enterprise Javascript before YUI Compression" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_thumb.png" width="499" border="0" />
          </a>
        </p>
        <p>
Using the YC is simple:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\browserdetect.js
browserdetect.js</pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
Update the paths to Java and the YC as per your environment.  Using the handy
dir /B *.js &gt; go.bat I created a batch file of all the javascript files in the
viewerfiles folder.  Be sure to run this from a dos window in the viewerfiles
folder, or update the paths.  You will also need to create the comp folder in
viewerfiles.   Quick cut and pasting created the following batch file:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\browserdetect.js
browserdetect.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\contextmenu.js
contextmenu.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 3:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\digitize.js
digitize.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 4:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\hashtable.js
hashtable.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 5:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\initdwfctrl.js
initdwfctrl.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 6:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\legend.js
legend.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 7:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\numfmt.js
numfmt.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 8:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\pngfix_map.js
pngfix_map.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 9:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\sarissa.js
sarissa.js</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 10:</span> c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\wz_jsgraphics.js
wz_jsgraphics.js</pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
(*Sorry about the overlap.  I'm working on a new layout and am addressing that
in there)
</p>
        <p>
Running that output all of the compressed of the files down somewhat, to pretty significantly. 
</p>
        <p align="left">
          <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_4.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="223" alt="Mapgude Enterprise Javascript After YUI Compression" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_thumb_1.png" width="569" border="0" />
          </a>
        </p>
        <p>
A quick comparison of one of the function calls:
</p>
        <div>
          <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">
              <span style="color: #606060"> 1:</span>
              <span style="color: #0000ff">function</span> MenuData(menuName,
arrowHeight, scrollInc, scrollDelay, minSize, iconScrollUp, iconScrollUpDisabled,
iconScrollDown, iconScrollDownDisabled, owner, withIFrame, bkColor)</pre>
            <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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
              <span style="color: #606060"> 2:</span>
              <span style="color: #0000ff">function</span> MenuData(F,H,I,K,E,G,D,J,A,C,B,L)</pre>
          </div>
        </div>
        <p>
 
</p>
        <p>
As you can see - the savings can be significant.
</p>
        <p>
I'm not using the <a title="fusion viewer" href="http://www.jasonbirch.com/nodes/2007/12/19/155/mapguide-open-source-more-fusion-less-confusion/" target="_blank" rel="tag">Fusion
viewer</a> yet so I did not process those files, but I did check some of the JS in
there and each script file had a huge header comment.  It looks like Fusion could
also benefit from some compression action.  Please note, I've been running my
web tier using this script for a day or two.  I've not run any serious testing
on this code - so try this at your own risk.  You did make that backup I suggested,
right?  That said, I have not personally experienced any problems yet. 
Also, should you compress your viewerfiles and have problems be sure to try your backups. 
Especially before calling your dealer or Autodesk for help. (sorry product support
and ADN guys.  Please don't hate me =] ).
</p>
        <p>
        </p>
        <div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:e709df33-b7eb-4787-9e2d-dd73ac7bc3b0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
          <p>
            <a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/compressedJS.zip" target="_blank">Download
some pre-compressed javascript files</a>
          </p>
        </div>
if you would rather not run the YC yourself. 
<p></p><p>
Enjoy!
</p><div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8cf6b803-e6e9-4c76-b59c-22402f72bde2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Javascript" rel="tag">Javascript</a>,<a href="http://technorati.com/tags/Mapguide%20Enterprise" rel="tag">Mapguide
Enterprise</a>,<a href="http://technorati.com/tags/Mapguide%20Open%20Source" rel="tag">Mapguide
Open Source</a></div><img width="0" height="0" src="http://www.webrade.com/blogs/darrin/aggbug.ashx?id=9bbaea28-5b82-4c48-a836-dd49945adc41" /></body>
      <title>Increase Mapguide Enterprise/Open Performance with Javascript Compression using the YUI Compressor</title>
      <guid isPermaLink="false">http://www.webrade.com/blogs/darrin/PermaLink,guid,9bbaea28-5b82-4c48-a836-dd49945adc41.aspx</guid>
      <link>http://www.webrade.com/blogs/darrin/2008/08/30/IncreaseMapguideEnterpriseOpenPerformanceWithJavascriptCompressionUsingTheYUICompressor.aspx</link>
      <pubDate>Sat, 30 Aug 2008 06:18:36 GMT</pubDate>
      <description>&lt;p&gt;
Javascript compression is something I had on my list for the next major release of
RADE.&amp;nbsp; RADE is not quite ready for this step yet, so I thought I would give it
a shot on Mapguide Enterprise and see what kind of results it would yield.&amp;nbsp; For
a small site or an internal site this will probably not yield significant benefits.&amp;nbsp;
However if you run a large public site javascript compression could squeeze out some
more performance as well as save you on bandwidth costs.&amp;nbsp; Yahoo has a good article
on &lt;a title="empty cache performance" href="http://yuiblog.com/blog/2007/01/04/performance-research-part-2/" target="_blank" rel="tag"&gt;performance
and the "empty cache"&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I did some brief looking around and word on the internets is that the &lt;a title="YUI Javascript compressor" href="http://developer.yahoo.com/yui/compressor/" target="_blank" rel="tag"&gt;YUI
compressor&lt;/a&gt; is one of the better compressors out there.&amp;nbsp; The YUI compressor
is an open source java applet.&amp;nbsp;&amp;nbsp; This *should* work with Mapguide Open,
heck this might even be done already in MGOS - but I am only using Enterprise so I
cannot confirm, deny, or test this.&amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Some of the key things the compressor will do:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
remove all comments 
&lt;li&gt;
remove all white space and line breaks 
&lt;li&gt;
rename all local variables and parameters to single characters&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
The YUI compressor should not alter variable values or your logic in any way.
&lt;/p&gt;
&lt;p&gt;
To use the YUI compressor you will need to &lt;a title="Download Java" href="http://www.java.com/en/" target="_blank" rel="tag"&gt;have
Java installed&lt;/a&gt;.&amp;nbsp; Note that if you have the Oracle client installed, you probably
have Java already&amp;nbsp; Once you have Java, you can download a copy of the &lt;a title="download the YUI compress" href="http://www.julienlecomte.net/yuicompressor/" target="_blank" rel="tag"&gt;YUI
compressor&lt;/a&gt; (I'm going to start referring to it as the YC now...).&amp;nbsp; If you
don't feel like downloading Java and the YC - I've attached the processed files at
the bottom of this post.
&lt;/p&gt;
&lt;p&gt;
Lets first look at the javascript shipped with Mapguide Enterprise.&amp;nbsp; If you browse
to your web server extension viewer files (the default location is C:\Program Files\Autodesk\MapGuideEnterprise2009\WebServerExtensions\www\viewerfiles
I believe) you will see ten javascript files.&amp;nbsp; If you choose to process these
files on your own please back them up first.&amp;nbsp; Don't blame me if you don't backup
your files and something goes wrong =).
&lt;/p&gt;
&lt;p&gt;
Before YC:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_2.png" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="242" alt="Mapgude Enterprise Javascript before YUI Compression" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_thumb.png" width="499" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Using the YC is simple:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\browserdetect.js
browserdetect.js&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Update the paths to Java and the YC as per your environment.&amp;nbsp; Using the handy
dir /B *.js &amp;gt; go.bat I created a batch file of all the javascript files in the
viewerfiles folder.&amp;nbsp; Be sure to run this from a dos window in the viewerfiles
folder, or update the paths.&amp;nbsp; You will also need to create the comp folder in
viewerfiles.&amp;nbsp;&amp;nbsp; Quick cut and pasting created the following batch file:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\browserdetect.js
browserdetect.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\contextmenu.js
contextmenu.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 3:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\digitize.js
digitize.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 4:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\hashtable.js
hashtable.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 5:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\initdwfctrl.js
initdwfctrl.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 6:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\legend.js
legend.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 7:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\numfmt.js
numfmt.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 8:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\pngfix_map.js
pngfix_map.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 9:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\sarissa.js
sarissa.js&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 10:&lt;/span&gt; c:\oracle\product\10.2.0\client_1\jdk\bin\java.exe
-jar f:\utils\YUICompress\yuicompressor-2.3.6\build\yuicompressor-2.3.6.jar -o comp\wz_jsgraphics.js
wz_jsgraphics.js&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
(*Sorry about the overlap.&amp;nbsp; I'm working on a new layout and am addressing that
in there)
&lt;/p&gt;
&lt;p&gt;
Running that output all of the compressed of the files down somewhat, to pretty significantly. 
&lt;/p&gt;
&lt;p align="left"&gt;
&lt;a href="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="223" alt="Mapgude Enterprise Javascript After YUI Compression" src="http://www.webrade.com/blogs/darrin/content/binary/WindowsLiveWriter/IncreaseMapguideEnterpriseOpenPerformanc_14786/image_thumb_1.png" width="569" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
A quick comparison of one of the function calls:
&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; MenuData(menuName,
arrowHeight, scrollInc, scrollDelay, minSize, iconScrollUp, iconScrollUpDisabled,
iconScrollDown, iconScrollDownDisabled, owner, withIFrame, bkColor)&lt;/pre&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; MenuData(F,H,I,K,E,G,D,J,A,C,B,L)&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
As you can see - the savings can be significant.
&lt;/p&gt;
&lt;p&gt;
I'm not using the &lt;a title="fusion viewer" href="http://www.jasonbirch.com/nodes/2007/12/19/155/mapguide-open-source-more-fusion-less-confusion/" target="_blank" rel="tag"&gt;Fusion
viewer&lt;/a&gt; yet so I did not process those files, but I did check some of the JS in
there and each script file had a huge header comment.&amp;nbsp; It looks like Fusion could
also benefit from some compression action.&amp;nbsp; Please note, I've been running my
web tier using this script for a day or two.&amp;nbsp; I've not run any serious testing
on this code - so try this at your own risk.&amp;nbsp; You did make that backup I suggested,
right?&amp;nbsp; That said, I have not personally experienced any problems yet.&amp;nbsp;
Also, should you compress your viewerfiles and have problems be sure to try your backups.&amp;nbsp;
Especially before calling your dealer or Autodesk for help. (sorry product support
and ADN guys.&amp;nbsp; Please don't hate me =] ).
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:e709df33-b7eb-4787-9e2d-dd73ac7bc3b0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;
&lt;a href="http://www.webrade.com/bl