Archive for the ‘Products’ Category

Geocortex Essentials 2.0 Released

June 30th, 2009 by Drew Millen

Well, I just opened the gates for people to download Geocortex Essentials 2.0. Though it’s been in beta since March, we’re pretty pumped to be shipping the final. It has been a huge project that kept growing the more we delved into it.

At version 2.0, Geocortex Essentials is divided into two tracks: Web ADF Elements and REST Elements.

Web ADF Elements includes everything from Essentials 1.x, plus some new Web ADF-related stuff.

REST Elements is totally new and follows ESRI’s RESTful development paradigm. Geocortex Essentials 2.0 introduces the Geocortex Essentials REST API. Using the REST API, developers can create JavaScript API, Flex API and Silverlight API applications that consume core Geocortex Essentials functions such as Data Linking, Template-based Printing and Reporting.

During the 2.0 beta period, Latitude product developers worked on documentation, defects, testing, the Geocortex Resource Center, and our associated client APIs (JavaScript, Flex and Silverlight).

Although ESRI released it not long ago, we also managed to squeak in support for Microsoft Bing Maps service types in both REST Elements and Web ADF Elements.

Yeah, we’ve still got lots of end-user features to port and/or create, but the final cut of Geocortex Essentials 2.0 is a major milestone for all of us on the Geocortex Essentials team and the underlying foundation is all there (along with several key initial features like data linking, reporting, and printing).

Product Localization Simplified

June 23rd, 2009 by Drew Millen

We recently created and rolled out the Geocortex Localization Portal. This web site makes translation easy for our resellers and partners who are translating Geocortex products into other languages (currently Arabic, Dutch, French, Korean, Norwegian, Polish, and Spanish).

LocalizationPortal

Translators can visit http://translation.geocortex.com/ and log in using their Support Center account.

The site is a nice example of business process automation. Previously, translating a version of Geocortex Essentials followed a workflow similar to this:

Previous Business Workflow

Step # Workflow Step Description Actor
1 Publish resources in languages requiring translation from a released version of Essentials. Latitude Geographics Products Staff
2 Distribute language resource “kit” to translator (via Support Center) Latitude Geographics Support Staff
3 Translate English values to language-specific values. Translator
4 Package and deliver translated resources to Latitude Geographics (via email) Translator
5 Include translated resources in Essentials product Latitude Geographics Products Staff
6 Fix errors caused by translation in Essentials Latitude Geographics Products Staff
7 Publish language-specific version of Essentials release containing translation to web for review. Latitude Geographics Products Staff
8 Review translation on published web site. Translator
9 Send feedback of changes required in translation (via email). Translator
10 Apply changes requested by translator to translation. Latitude Geographics Products Staff
11 Re-include updated translated resources in Essentials product Latitude Geographics Products Staff
12 Re-publish language-specific version for review. Latitude Geographics Products Staff
13 Repeat steps 8-12 as necessary (usually 2-3 times, over 5-8 business days) Latitude Geographics Products Staff / Translator
14 “Sign-off” on translation following review. Translator
15 Package production version of Geocortex Essentials containing the language specific resources Latitude Geographics Products Staff
16 Deliver production version of Essentials to translator Latitude Geographics Support Staff

This onerous process usually took a couple of weeks following a release of Geocortex Essentials, which meant that our translators would have to wait until they could use Essentials in their language. We didn’t want to begin the process using pre-releases or beta versions since there are sometimes changes between beta and release candidate versions of Essentials and the final release which would invalidate the translation.

Now, translation can be achieved by someone almost completely independently of Latitude Geographics, and without the issues described above. The new workflow looks something like this:

New Business Workflow

Step # Workflow Step Description Actor
1 Publish resources in languages requiring translation from a released version of Essentials. Latitude Geographics Products Staff
2 Download Initial translation Kit from Localization Portal Translator
3 Translate English values to language-specific values. Translator
4 Package and upload translated resources to Latitude Geographics via the Localization Portal Translator
5 Download Intermediate Testing Package and apply to installed Geocortex Essentials instance Translator
6 Review translation Translator
7 Repeat steps 3-6 as necessary Translator
8 Request Final Production Package Translator
9 Review translation, and approve production package Latitude Geographics Support Staff
10 Download Final Production Package from Localization Portal and apply to production Geocortex Essentials installation. Translator

I work on and/or manage lots of initiatives that take months to roll-out, so I appreciate the odd small project that nonetheless has a noticeable impact on efficiency.

Phantom Bugs: A Lesson in Troubleshooting

June 12th, 2009 by Drew Millen

As part of the Geocortex Essentials product team, we have people who fix bugs. Typically we discover a bug ourselves or hear of the issue through a customer experiencing issues in their environment which we haven’t seen before. We take measures to replicate the issue, get to the bottom of it, and fix it.

But what do you do when you have an issue being reported from a few disparate customers (thus confirming its existence) which can’t be replicated in-house? Recently, our support department received screenshots from several different customers looking like this:

CssMultiplexerBug

Locally, we’ve never seen Essentials do this – not on 64bit operating systems, not with IE6, nor in any combination of weird server environments we could concoct. So, we spent days trying to replicate this issue with a hunch it had something to do with the new CSS Multiplexer control we’d written for 1.5.2. This requires a bit of a tangent:

Certain versions of Internet Explorer prevent any one web page from adding references to more than exactly 32 CSS (cascading style sheet) pages. Don’t ask me why, but that’s the limit. Because Geocortex Essentials has a large number of web controls which are independent and modular, many of them come with their own CSS registration; thus, it didn’t take long before we discovered this limit (now this was a bug we encountered which warrants its own blog post altogether). The solution: the CSS Multiplexer. A web control which combines all CSS style sheets referenced on the page into one gigantic style sheet. I won’t get into the details, but it worked and improved performance as a side effect.

So when we see screenshots that look like CSS isn’t doing its job, the natural inclination is to blame the CSS Multiplexer. Long story short… this inclination proved wrong and it was not a bug. After a few days of wrestling with the CSS Multiplexer, and delivering patches to customers who were experiencing the issue only to discover the patches didn’t resolve the problem, it became evident that resolving issues using a black box approach wasn’t working. Our support department got in touch with one of the customers who was experiencing this issue and asked if we could set up an online meeting where we could see the bug and troubleshoot onsite. They agreed. Within one hour we were able to determine that a setting in IIS was preventing the CSS Multiplexer from fetching the appropriate style sheets and the customer was up and running.

We’re grateful to have customers willing to help us track down an issue like this. Of course, finding a resolution is of mutual benefit, but they could’ve just as easily asked us to investigate this with someone else. Moving forward, I think we’ll be much quicker to go down the bug observation route much sooner if we’re having trouble replicating it.

Incidentally, we’ll be publishing a knowledge base article on our support center for those who are experiencing this issue, and our developers have some ideas of ways we can get Essentials to “trick” IIS into behaving correctly to prevent this from occurring in the future.

Geocortex Essentials Compatible with ArcGIS Server 9.3.1

May 15th, 2009 by Drew Millen

The Geocortex Essentials development team had been working with the pre-releases of AGS 9.3.1 prior to our release of Geocortex Essentials 1.5.2 Service Pack 1, so we were pretty confident that things would go off without a hitch when ArcGIS Server 9.3.1 was officially released.

We’ve now wrapped up a thorough round of testing using Geocortex Essentials 1.5.2 SP1 and 2.0 Beta 2 with ArcGIS Server 9.3.1.

Our test results are very positive. Essentials 1.5.2 SP1 and 2.0 Beta 2 did not reveal any issues specific to AGS 9.3.1 when using either MXD-based services, or the new MSD-based map services with one exception:

  • Using the ArcMap Layout print functionality (which uses layouts defined in MXDs), will not work when using the new MSD-based map services. The template-based printing feature is still fully functional when using MXD and MSD-based services.

If you are eager to upgrade or have already upgraded, feel free to run your Geocortex Essentials 1.5.2 SP1/2.0 Beta 2 applications on the 9.3.1 release of ArcGIS Server.

Pictometry Integration Included in 1.5.2 SP1

April 24th, 2009 by Drew Millen

We’re getting ready to cut the 1.5.2 Service Pack 1 release of Geocortex Essentials (it will be available on the Support Center for download on Monday, April 27th). Service Pack 1 contains some bug fixes and some minor features, but it’s more exciting to announce the inclusion of Pictometry SDK integration.

The Pictometry Image Navigator control has been embedded into the Geocortex Essentials viewer. With a Pictometry license, users can view images coming from Pictometry side-by-side with the corresponding area on the map viewed within Essentials.

For example, within our demonstration data I can do a search for “my property”, and I can see that apparently the landscaping is undergoing some renovations:

Pictometry

Geocortex Essentials 1.5.2 Released

March 24th, 2009 by Drew Millen

This afternoon we cut our final “1.X” release of Geocortex Essentials: 1.5.2 (Geocortex Essentials 2.0 builds on top of 1.X).

1.5.2 contains some big features, and a lot of quality improvements. We were able to incorporate a tonne of features and defect fixes specifically requested by the forum community on the Geocortex Support Center. Among a couple dozen other features, we’ve added support for group layers defined in map services:

GroupLayer

The release is available on the Geocortex Support Center, along with detailed release notes.

Stay tuned for announcements related to Geocortex Essentials 2.0!

A few cool new features for Geocortex Essentials…

December 29th, 2008 by Drew Millen

Well, we just recently released Geocortex Essentials 1.5 and we’re gearing up to release Geocortex Essentials 1.5.1 on January 7th. Despite its close succession to the release of 1.5, 1.5.1 includes a lot of stuff; both features and bug fixes.

A few of the new features are old friends – modified versions of features implemented in Geocortex IMF like user-defined Extent Bookmarks, Zoom to Layer Scale, configurable scales on Print Templates and Map Grid; however there are a couple of “flashy” features new to this release that are pretty exciting. Swipe Layer and Layer Transparency, to name a couple (screenshots below).

Swipe

Above, Swipe Layer control being applied to Zip Codes layer (left) and County layer (right) within the Charlotte sample map service.
Transparency

Above, Layer Transparency being applied to U.S. Interstate layer.

Geocortex Essentials 1.5 Released

November 22nd, 2008 by Drew Millen

This afternoon, we cut the final release of Geocortex Essentials 1.5. Thanks to those who participated in the Beta program and provided feedback. We released the 1.5 Beta on the same day (coincidentally) as ESRI’s 9.3 SP1 release. Since then, we have ensured compatibility with 9.3 SP1 within Geocortex Essentials 1.5.

1.5 represents a few months of work, and packs with it a good number of new features and bug fixes. To name a few:

  • Configurable Search
  • Query Builder
  • Summary Reports
  • Feature Maps & Feature Reports
  • Layer Metadata Links
  • Copy/Save Map Image
  • Updated Toolset control

… and many more.

Have a look at the Release Notes on the Geocortex Support Center for more details.

Spatial Search Chaining

October 27th, 2008 by Drew Millen

I come from a background in IT, not geography. Over the last five years, the “Geographic” part GIS has intrigued me more and more. Writing software for many other types of “Information Systems” just doesn’t seem as interesting.

Today I spent a couple hours building some search forms from the Configurable Search feature we’re currently wrapping up for Geocortex Essentials 1.5. Building search forms is such a common IT operation. What web-based application doesn’t have a search function? And what specific system implementation hasn’t required custom functionality on top of that search. The cool thing about writing search tools for a GIS is that we can apply spatial filters and then “see” the results (here, seeing means more than squinting at rows and columns in a table).

For example: Find me all of the parcels within the zip code 28214 that have a land value greater than $450,000. The word “within” becomes a very powerful part of that sentence.

parcel-by-value

This search found me 119 parcels. I don’t really want to sift through that data in a table… but seeing the results on the map empowers my results to “mean something”.

parcel-by-value-results

Sophisticated Search and Query for ArcGIS Server 9.3

September 19th, 2008 by Drew Millen

Back in July, Geocortex Essentials 1.4 was a major release because it provided complete compatibility with ArcGIS Server 9.3 and provided a major performance boost. However it didn’t include many specific new features (and the feature request list just keeps growing). With the upcoming (mid-October) Geocortex Essentials 1.5 release we’re excited to cross off the list a few of the major features we’ve wanted to develop for quite some time. Configurable Search and Query Builder is ones of these.

Not to be confused with the SearchAttributesTask and QueryAttributesTask these features allow administrators to configure searches against both spatial layers and data from external data sources (configured via the Geocortex Essentials Data Linking).

auto-completeSome users might notice the cool but subtle things, like AJAX enabled auto-complete text boxes or drop-down boxes populated with domain values, cascading input fields (where one fields value may be dependent on the selection of another field), masked input fields (for specific data entry requirements), and friendly field validation. Query Builder will be intuitive, and it won’t require users to understand SQL. I think our users, business partners and services team will be hard pressed to find a search tool requirement that can’t be satisfied by simple configuration of the Configurable Search feature.

parcel-mapOn the reporting side we’re including “Feature Maps”, so users can see preview maps of each feature they have searched for, without leaving the search results window.

Since work on Geocortex Essentials 2.0 is happening in parallel, we’ve been able to engineer the 1.5 features so they won’t be a big deal to adapt to work in conjunction with ESRI’s new/emerging developer APIs.