Keeping Group Activities Organized

Just about anyone who’s coordinated snacks for group activity knows what it’s like to see participants either show up with nothing or a lot of the same thing. Such snafus prompted the founders of SignUpGenius to create a better way to organize events. The site www.signupgenius.com offers sign-up creation, group messaging, and administrative tools for free, and a premium version also includes reporting, automation, and advanced admin features.

“The site’s simple and powerful online sign-up forms replace paper sign-up sheets and reply-all emails for hassle-free event coordination,” says Jad Talbert, Vice President of Architecture at SignUpGenius. “With Adobe ColdFusion and a small development team, we build easy-to-use products that help users simplify their busy schedules.”

Since it was launched in 2008, SignUpGenius has added features and improved application performance with Adobe ColdFusion to support processing large volumes of simultaneous sign-ups per second, sending millions of reminder emails per month, and processing large reports for users in real time Besides helping the company’s team of eight full-time developers update features quickly, Adobe ColdFusion supports scalable business flexibility. 

A multi-instance deployment lets SignUpGenius triple online traffic to each of its servers, which makes it easier for the company to handle busy times and keep applications running smoothly for users. The company is also evaluating the new ColdFusion feature that allows session sharing across servers to improve load balancing. https://adobe.ly/2neByxy

Application deployed on Network/Remote Path – Identifying Network Latency – Improve Performance

Many a time, ColdFusion application code is deployed on a network path when your ColdFusion deployments are of large-scale and mandated to use network paths.

After setting up the server for the first time, if there is any performance hit, as the first thing you would want to cross-check few things. One of the things to determine is if there is any network latency.

Though you would have got same network within your organization same as earlier, your OS version also would have changed.

Follow the steps below to see if the performance hit is due to network latency-

When the server is under moderate or full load(with at least 8-10 requests under process), take 2 or 3 thread dumps with 30 seconds interval.

It is not appropriate to take thread dump when the server has negligible load and anlyze that as there may not be any in-process requests.

If you are not sure how to take thread dump, you can simply follow the following blog.

( Taking Thread Dumps From ColdFusion Server Programmatically )

Open the thread dump file:

Under moderate or full load server conditions, if you see more than 5-8% of running ColdFusion threads containing “WinNTFileSystem” in the thread’s stack trace –> It means that there is lot of time being spent in trying to resolve the application file paths.

Following are the sample threads having WinNTFileSystem in its dump.

"ajp-bio-8014-exec-6861" Id=13898 in RUNNABLE
 java.lang.Thread.State: RUNNABLE
 prio=5 blockedtime=28963 blockedcount=6819 waitedtime=421762 waitedcount=115
    at java.io.WinNTFileSystem.getBooleanAttributes(Native Method)
    at java.io.File.isFile(File.java:876)

 

"ajp-bio-8014-exec-6861" Id=13898 in RUNNABLE (running in native)
 java.lang.Thread.State: RUNNABLE
 prio=5 blockedtime=28961 blockedcount=6814 waitedtime=421762 waitedcount=115
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:414)
    at java.io.File.getCanonicalPath(File.java:618)

 

(Note: ColdFusion threads can be identified by the name starting with "ajp-" )

For Example, if there are 50 threads with thread name starting "ajp-bio-" in the thread dump, if you see WinNTFileSystem in more than 2-3 threads, it is the time you start looking at minimizing the network latency.

 

Once you know there is latency, you would want to know how much is the latency when compared to the application existing locally.

Created a very basic network latency test program to validate this.

You can take the jar from here.

And run it from command prompt as follows:

> C:ColdFusion11jrebinjava -jar <Path of NetworkPathsTest.jar> <Network or Local Directory Path >

If the network path (Ex:- \orgserverd$) is accessible only to the ColdFusion service user, open command prompt as that user ( runas /user:<cfserviceaccount domainname>cfserviceusername CMD )

 

Examples:

Path Arguments can be one or more. More Path arguments is a good measure to see the difference clearly.

C:ColdFusion11jrebinjava -jar C:ColdFusion11NetworkPathTest.jar \orgserverd$deploycfm

C:ColdFusion11jrebinjava -jar C:ColdFusion11NetworkPathTest.jar \orgserverd$deploycfm \orgserverd$deploycfmapi

Try the same paths keeping the content same on the local machine and see the time differences.

For the same paths on local and remote, the difference in time should not be exponential.

These tests are to be performed on your ColdFusion server machine.

Once you have validations and found any latencies, it is the time to call for network optimization expertise.

 

 

Tournament Scorecard Pro built with Adobe ColdFusion 11 Mobile

We would like to make an announcement to highlight a great public application that was built with Adobe ColdFusion 11 Mobile Platform Tools by one of our well-known community members, Dave Ferguson.  We think the app is a great example of the types of mobile solutions that can be built utilizing the features available.

Well done Dave!  Thanks for sharing.

 

The application was built using these mobile features of ColdFusion 11: 

Local data storage access using components.

Remote app inspection using built-in weinre server.

App debugging during development process.  

Application building via phonegap build for deployment. 

 

Bootstrap was used for UI controls and layout.  

Dynamic tempting was achieved with Mustache.

jQuery and other Javascript plugins for miscellaneous UI elements.

 

Description:

Tournament Scorecard Pro is an app for keeping score at a
martial arts tournament.  These tournaments don’t have a scoreboard for
spectators, so it is up to the spectators to keep score themselves.  This
has historically been done with pen and paper. However, this method leads to
lost scores or other issues. With the app, spectators can easily keep track of
scores and always have them with them.  They can now easily look back at
previous tournaments for reference.  The app also helps during the tournament
when it comes to correcting scoring conflicts and figuring out ties.

 www.tournamentscorecard.com

 

 

Have you built a mobile application using any of the ColdFusion 11 tools?  Tell us about it!

Fulfilling customer requirements by focusing on functionality

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

MicrosoftInternetExplorer4

Since 2004, Promisan has built its management consulting and
systems business by creating tools that help clients optimize how they use
information. Promisan’s flagship enterprise resource planning (ERP) solution,
Prosis, surpasses rival solutions because it has been built using the stable,
mature, and powerful Adobe ColdFusion
platform. ColdFusion gives Promisan the flexibility to meet changing customer
requirements and to integrate with a variety of IT infrastructures

“Adobe ColdFusion is a fantastic application server that
outperforms others at a significantly lower cost of ownership. Because it’s
based on a J2EE-compliant Java platform, it readily supports Linux, Solaris,
Mac, and Windows operating systems. The platform integrates seamlessly into
Java and C++ projects—providing outstanding flexibility in the demanding,
challenging ERP arena,” says Jorge Armin Mazariegos, co-founder and operations
manager at Promisan.

Prosis has helped one global company cut staffing report times
from three days to one minute and a recruiting agency to gain real-time insight
into job recruiting status. The ERP system has also helped a crude oil
distributor cut the time required to refill storage tanks by 67%.

Adobe ColdFusion has allowed Promisan to eliminate nearly all
third-party tools for solution development. With ColdFusion, Promisan
developers have achieved a sustainable business model for Prosis that can
support sites with anywhere from 5 to 5,000 users accessing more than 1,500
normalized database tables.  http://adobe.ly/1BWdfnE

 

How we solved a connector issue after ColdFusion 11 Update 1

ColdFusion 11 update 1 was
out and blogged about here.
It included the fixes listed in the technote, out of
which two (Bug#
3777189
& Bug#
3758172
) were related to IIS. We would like to share one of our Customer
experience and how we solved a connector issue after applying Update 1 in
ColdFusion 11.

The Challenge

Recently we were contacted by a customer from a larger organization, who wanted the IIS fixes. They weren’t aware about the release
of Update 1. Once we told them, they tried to apply the Update 1, but had
issues with it. We suggested them the alternatives that can
be used when there is a problem with direct application of the hotfix. The
update was installed successfully and was confirmed from ‘Settings Summary
page in the CF Administrator. The next step was to reconfigure the connector. The
moment connector was re-configured, all the sites went down. There were
approximately 15-20 sites configured with ColdFusion and the entire production
went down. We checked the update logs and they were clean. The error reported
was “Error 403 Access Forbidden
across all the sites.

The Solution

We tested the non CFM sites, and they
were functional. Only the ColdFusion based sites were giving the forbidden
errors. Thus we inferred that, the issue is either with ColdFusion or the connector
configuration. We enabled the internet port for ColdFusion and there we go, it
worked. This meant, ColdFusion was also working perfectly, but somewhere the
connector broke. Even after trying all the ColdFusion based troubleshooting
steps, basic windows troubleshooting, permissions check, ColdFusion logs etc.,
we were unable to fix the issue.

Then we decided to compare the
settings with one of the development servers they had. And bingo, we found the root
cause of the 403 error. “worker.cfusion.secret=yourSecret” was added by them in
their {cf.home}/config/wsconfig/[magic number]/workers.properties as a part of connector shared secret setting. This
is a part of ColdFusion
11 Lockdown Guide
 procedure. When the connector was re-configured, the
previous settings with configuration information were erased. But the
corresponding entry in the {cf.instance.home}/runtime/conf/server.xml was still
looking for the related entry in workers.properties and thus was throwing error.

The Result

Once the setting was updated, all the
sites were up and running in seconds. The customer was very happy, as their sites were back on production. If the connector needs to be
reconfigured, we have to first remove it and then re-configure it. Connector removal
means, the changes made by the user will be lost. When the user re-configures
the connector thereafter, we don’t have any means to identify what configuration
settings they previously had.

The Recommendation

Before
you re-configure the connector, we strongly recommend the following:

Ø  Back up all connector configuration files. Connector
configuration files are available at {cf.home}/config/wsconfig/

 

Note: The same has also been
mentioned in the ColdFusion 11 Lockdown Guide as well.