888-898-3404

ROK Blog

Onslow County, NC

Carey Jenkins - Tuesday, July 10, 2012

Client Spotlight:  We are pleased to announce that our long time client, Onslow County, NC has upgraded from ArcIMS to ArcGIS Server, allowing them a more broad and effective use of Geographic Information Systems. When visiting the Onslow County, NC website, users now have access to the ROK GoMaps applications, thus giving them the ability to perform powerful GIS analysis, including complex queries, export excel files, and create spatial buffers. It is an exciting time for Geographic Information Systems altogether, and we're very happy that our friends from Onslow County, NC are taking the opportunity to utilize the full potential of ArcGIS. The application utilizes Esri basemap map services along with their own dynamic and cached map services, allowing for all new GIS capabilities. The cached map services utilize ROK Technologies' cloud-based tile hosting service to ensure rapid delivery to the end users. GoMaps is an application developed and hosted by ROK.

Recently, ROK Technologies updated our website to the ArcGIS server, and implemented the GIS application GoMaps. We have received an overwhelming amount of positive feedback. I had dreaded changing the website, because normally the public is resistant to change. However, with this change to a more effective Geographic Information System, I have been pleasantly surprised with the numerous compliments we have received. Over the past 14 years, we have worked on several projects with ROK, and they always go the extra mile to support us and aid us with all of our GIS needs. The entire ROK staff is knowledgeable, helpful, and easy to work with. It has been a pleasure working with them through the years on various GIS issues, and I look forward to working with them on future projects as well."

Patricia Pike, GIS Manager  

Visit the Onslow County, NC web site to see the GIS application GoMaps in action. Or, feel free to Contact Us with any questions you may have regarding Geographic Information Systems.

 

 

 

Dojo and Coldfusion - A Fix for Using the Dojo TitlePane with CFGrid

Jason Harris - Tuesday, July 28, 2009

We are automatically updating a coldfusion grid with results from a database as users type in a search box. This grid is contained in a dojo dijit.TitlePane. The TitlePane is a collapsible window.

Recently, we discovered an issue in IE. If the Cfgrid has results, then you collapse and open the dojo TitlePane, the grid will disappear. Here is how we fixed it:

Step 1: Set the duration in the TitlePane to 0
Code:div dojoType="dijit.TitlePane" id="resultsDivholder" duration="0"

Step 2: Attach an event to the toggle function using dojo.connect
Code: dojo.connect(dijit.byId('resultsDivholder'),"toggle",gridToggle);
Note: The TitlePane is a dijit. Therefore, you must use dijit.byId and not dojo.byId

Step 3: Refresh the coldfusion grid when the title pane is toggled to open
Code:
function gridToggle() { if(dijit.byId('resultsDivholder').open == true) { ColdFusion.Grid.refresh('ResultsGrid'); } }


Jason Harris

Coldfusion 9 and CF Builder (the new IDE) Public Beta Launched

Jason Harris - Monday, July 13, 2009

Wow...The opening of the ESRI user conference and the release of the public ColdFusion 9 beta on the same day. Doesn't get much better than that.

Someone already submitted it to DIGG, so if you want to digg it up: http://digg.com/programming/Adobe_Labs_Adobe_ColdFusion_9

The coolest feature of Coldfusion 9 has to be the ability to use Coldfusion as services from within other languages...I think especially Flex. It was always been extremely easy to call ColdFusion Components (CFCs) from Flex, but now, wow its even easier to use CF functionality from within Flex (and other languages). Check out this intro to CF 9 by the man himself, Ben Forta: http://www.adobe.com/devnet/coldfusion/articles/coldfusion9_whatsnew.html


Jason Harris

Another Coldfusion 8 DIGG Opportunity

Jason Harris - Wednesday, August 01, 2007
Show the asp.net and php folks just how easy we have it. Sam's list of ColdFusion One-Liners

Jason Harris

Coldfusion 8 Forms & Ajax: Note To Self

Jason Harris - Tuesday, July 24, 2007

Just a quick note - more to myself than anyone else. But, since I ran into this, I suspect that someone else will to.

I often build multiple input forms on 1 page: form action=#cgi.script_name#. I then add some type of hidden variable the tells the form to move on to step 2 when its been submitted. Better than having 5 pages of forms to manage and helps to not freak out the user when they see huge input forms. I'm sure lots of folks do similar types of things.

Anyway, I'm currently creating an input form with some autosuggest elements and then when the user submits the form (which is now asynchronous), the 'next' form that I display to the user had a second ajax control - a datefield. However - time and time again, after I submit form 1, I got an error telling me that CF didn't load the proper libraries, and couldn't display the datefield properly.

Well, it turns out that all the ajax libraries for the page are initially loaded when form 1 is displayed - but when it is time for form 2 to display - the required datefieled scripts are missing. So, quick solution is to use: cfajaximport tags="cfinput-datefield" at the top of your page (even though you may have properly wrapped your elements in a cflayout).

While all of these ajax tools are fantastic - I am finding them a bit quirky at times. I could see someone devoting an entire book to the cf 8 ajax toolkit (take note Ben - you'd get my 30 bucks in a flash.)

<!--- Without the import, this would fail --->
<cfajaximport tags="cfinput-datefield"/>
<cfparam name="TripAction" default="1">
<cflayout type="hbox">
<cflayoutarea overflow="visible" >
<cfform name="MyForm" action="#cgi.script_name#" >
<cfif TripAction eq '1'>
<table>
<tr>
<td nowrap valign="top" align="left">
        <div class="PublicLabel">Input 1:  </div>
        <cfinput type="text" required="Yes" message="You must enter your xx" name="x" style="width:150px;"
        autosuggest="cfc:/XYZ/cfc/XYZLocal.Getxyz({cfautosuggestvalue})">

</td>
<td nowrap align="left">
        <div class="PublicLabel">Input 2:  </div>
        <cfinput required="Yes" message="You must enter your arrival airport" type="text" name="y" style="width:150px;"
        autosuggest="cfc:/XYZ/cfc/XYZLocal.Getxyz({cfautosuggestvalue})">

</td>
</tr>

<tr>
<td colspan="2" align="right">
<input type="submit" value="Continue" class="PublicSubmit">
</td>
</tr>

</table>
<input type="hidden" name="tripaction" value="2">
<cfelseif TripAction eq '2'>


<tr>
<td nowrap width="240" valign="top" align="left">
<div class="PublicLabel">Departure Date:  </div>
<cfinput type="datefield" name="mydate1" style="width:75px;" class="PublicInputDate">
</td>
<td nowrap width="350" align="left">

</td>
</tr>
<input type="hidden" name="tripaction" value="3">
</cfif>

</cfform>

</cflayoutarea>
</cflayout>


Jason Harris

Coldfusion Based ArcIMS Public Viewer Sites

Jason Harris - Friday, June 22, 2007

Here is a updated list of sites that we have just recently released. All of them are Coldfusion 7 / ArcIMS based sites. Each one is a little different that the other. Everyone has specific tools they like.

The list is growing everyday. Below are the ones that we have officially 'released' There are are also many currently in beta. I must tell you, I have been very pleased with the number of deployments. From all the feedback from the counties/cities themselves, it sounds like they are happy too. Thanks to everyone (especially Cotter) for making it a success.

For the future, I really cant wait for CF 8. It will make some of the ajax based interaction even easier. Also, the slow migration to ArcGIS server has begun. However, I'd really like to see to better support from ESRI on the Coldfusion front. I plan to post a 'call to arms' for all of us Coldfusion / ESRI folks soon...But for now, check out the sites!

Durham County, NC
City Of West Palm Beach, FL
Davie County, NC
Alexander County, NC
Henderson County, NC
Hertford County, NC
Warren County, NC
Union County, NC
Onslow County, NC
Santa Rosa County, FL


Jason Harris

Coldfusion 8 & ArcIMS 9.2

Jason Harris - Monday, June 04, 2007
Well, just a quick update...Coldfusion 8 and ArcIMS 9.2 seem to play together nicely. At least the cfx_esrimap works ok. While I have not fully tested my apps against 8 yet, I have heard reports of pretty substantial speed increases (which sort of surprises me...they are quite fast already). Next up is to see how 8 does with ArcGIS Server.

Jason Harris

Coldfusion 8 Solves CFMAIL and Google Apps Problem!

Jason Harris - Wednesday, May 30, 2007
Thanks Adobe. Now we can talk to the google SMTP server over SSL and send email with CFMAIL! Just tested and it works like a champ. Hopefully Google will be cool with this...

Jason Harris

ArcIMS - Arcweb Services Hybrid Site

Jason Harris - Friday, May 04, 2007

I did this site a while back and forgot to post it:

Centralina Clean Fuels Coalition

Its a site that helps people locate fuel stations that offer alternative fuels, like electric, hydrogen, biodiesel, etc. It does some cool buffer queries, like find all the Hydrogen stations within 25 miles of Interstate 95 or within 25 miles of just about any city in the state. But, the real cool thing is that it makes use of both ArcIMS and ArcWeb services.

This project really needed very detailed and accurate base map data like streets. But, the budget was pretty low...so purchasing those datasets was out of the question. The best solution to this problem was to use arcweb services. Lucky for me, consuming these services with SOAP in Coldfusion is about as easy as it gets. All I really had to do was to pass the response envelope generated by ArcIMS to Arcweb. That gave me a very nice, and accurate background image. I didnt mess with the MapFusionOptions object at all though. Instead, to combine the 2 output images, I just dropped the arcweb image behind the output image of ArcIMS on the page. I set the transcolor and background of the arcims image to white and it was as easy as that. Came out pretty good.


Jason Harris

Cfmail, 'Google Tools For Your Domain', and SPAM

Jason Harris - Tuesday, October 24, 2006

If you are like me, you hate spam. You know what I hate more that that? Managing my own mail server and dns. We are a small shop that does GIS Application work, and have been running our own mail server since 1998. As you probably know, spam was almost non existent back then. Well, fast forward to today, and its insane. I don't have 4 hours to spend with tech support to figure out how my box was compromised and became a spam relay. I don't have time to figure out why the guy who sits across from me can't get his mail. I have code to write and clients to make happy. So, here is what I did about it.

1. Got an account at ZoneEdit. They are a free DNS service that is extremely fast and reliable. I have been using them for my personal site (on a dynamic ip) for years. I finally decided it was time to move the work sites there. I just logged into my domain registrar and changed the name server from my machine to zoneEdit's. It was that easy.

2. Got an account at Google Apps for Your Domain. I cannot believe this is free. Essentially, all I had to do was move my MX records fom my dns server here in the office to zoneedit. Once on zoneEdit, I just pointed it to Google's mail server (which are provide in the Google account creation) instead of the one I have in my office. Creating all the new email accounts was as easy as uploading a CSV file. Now, once each user visits the new sign in page, all they do is enable POP access and change their mail server settings in their mail client of choice. The bonus here is that you get nice web client (gmail) and 2gb of storage. You can even brand the site with your own logo. They also have a very impressive calendar app which can be shared (ala exchange) among all your domain users. Like I said I can't believe it was all free.

Ok, so now I am all set. Everyone can get email and I don't touch anything. BUT, this did leave me with a problem. How can I send email programmatically using Coldfusion? Google requires the SMTP server to first create a SSL session on port 465. I tried and tried, but I just couldn't get Coldfusion and CFMAIL to send. I guess it doesn't support SSL connections. So I began my search...And I can up with this post on usnet. This isn't my code, but if someone knows who did it, give them a big thank you! Here it is:

First view this: http://www.jscape.com/articles/sending_email_smtp_ssl_gmail.html

Prerequisites

1. Create the new folder secure_inet in C:\CFusionMX7\Mail; 2. On the jscape.com page above, click on the link to download "Secure iNet Factory"; 3. Enter your e-mail address and agree to the terms; 4. Download setup.exe ; 5. Launch the setup executable and choose to extract to the directory C:\CFusionMX7\Mail\secure_inet . This ensures that the key JAR file, sinetfactory.Jar will be stored as C:\CFusionMX7\Mail\secure_inet\lib\sinetfactory.Jar; 6. In the Coldfusion Administrator, add this to the JVM classpath: C:\CFusionMX7\Mail\secure_inet\lib\sinetfactory.Jar 7. Restart the Coldfusion MX server service. 8. Run the coldfusion script. It should go like an intercity train.

<cfscript>
// create new instance
SSL_SMTP_obj =
CreateObject("java","com.jscape.inet.smtpssl.SmtpSsl").init("smtp.gmail.com",465
);
// address the message
email_message =CreateObject("java","com.jscape.inet.email.HtmlEmailMessage");
email_message.setTo("joe@blow.com");
email_message.setFrom("me@you.com");
email_message.setSubject("Email Subject");
email_message.setHtmlBody("the body of the message");
// connect, send the message, disconnect
try
{
SSL_SMTP_obj.connect();
SSL_SMTP_obj.login("your GMAIL user account","GmailPassowrd");
SSL_SMTP_obj.send(email_message);
SSL_SMTP_obj.disconnect();
}
catch(Exception e)
{
WriteOutput(e);
}
</cfscript>



That’s it, works like a champ. Only issue is that Secure iNet Factory does cost a couple of bucks.

You know what the bonus of it all is? I have not gotten a single piece of spam in my inbox, and not a single false positive. Even with my old mail server spam filter (it did catch about 90% of it), I used to get about 20 spams per day in my inbox. So, that’s my story. I am one happy geek.


Jason Harris

Recent Posts


Tags


Archive

All content © ROK / Website by Hazel Digital Media