Beau Harbin's blog

Evaluating your website in 30 seconds

StandardZilla has a great blog entry about "How to Evaluate Your Website in 30 Seconds."  There some easy to use techniques that will give you a quick feel for how the web site will perform for many different users.  Additionally, there is another entry on "Case Studies - Evaluate Your Website in 30 Seconds."  Below is an excerpt:

Google Apps for email

Recently, we have had a client start an implementation with ASI Consulting.  This client is a young and distributed organization without any central systems.  They do not have a single email system (everyone uses their own personal email).  They do not have a simple way to share documents, etc.  The main problem that we first ran into was that without a central email system, we were running into issue as to which account we should connect iMIS in order for it to send out email notifications.  Anyway, we made some recommendations on working with their hosting company to get a simply single user email set up with their domain to iMIS.  I did keep it in my head on what we could do for other clients down the road. 

Directory structure for e-Series

When you set up the directory structure for your e-Series web site (of course this includes e-CM, which is just another e-Series module), you need to make sure you do not have ANY spaces in the directory names above the product level.

For example:

d:\users\myclientname\

will work just fine. However,

d:\users\my client name\

will not work fine in one very specific area of e-CM, namely the Verity searching used to search all the content on the web site. The BulkInsert.txt file will get populated properly, but no indexing will occur. This is because e-CM uses a batch file to run the command line Verity exe. If there are spaces or crazy characters in the directory patch, the batch file will truncate the pathing and not find the necessary files.

Therefore, when setting up a directory for your e-Series web site, AVOID SPACES AND SPECIAL CHARACTERS!

Application files in eCM

e-CM comes with a number of application files that get loaded on each page call within the e-CM framework. Some of these files can be used to inject your own processing into e-CM to manage different elements. I will look at the various files and give some hints as to what you can do with them.

Let's assume to start that the application has been initialized and your session has already been set up, which is probably about 98% of all page hits to e-CM.

1) Application.cfm (ApplicationOriginal.cfm): this file is built by the quick start wizard and while it is unencrypted, I do not recommend you make any modifications to this file. If you do you will have to put those modifications back each time to run the e-CM wizard, which is just too prone to error.

2) ApplicationUDFs.cfm: this file is the second to last line run in the Application.cfm file. This is meant as place for you to place any user-defined functions you want to create for your system. There are some placed in here by default, but you can add your own as you need. This file is not encrypted but might be modified in a later release.

3) ApplicationCustom.cfm: here is where you can place any custom code you want in order to give global control over custom code you might be putting within the application.

Now, if you want to create your own application variables, I do not recommend putting them in this file. There are two places you can put these variables. One I will discuss below, as for the other, you can place them in the Site Maintenance settings available in e-CM administrator. It is possible to even build your own custom components to separate your unique variables from those of the system. To do this you need to create an entry in the component_ref table, activate it, and reset the application variables. I will blog on this more extensively in the future.

eCM performance tweaks

I was recently asked to provide some guidelines or practical feedback on how to get the most performance out of e-CM as possible. First of all, e-CM has gone through many changes and performance enhancements over the years. It has been well optimized for performance.

That being said the following are 3 main things (from least to most important) that someone setting up e-CM can do to maximize its performance:

Microsoft to acquire ProClarity

Interesting news today from Microsoft. They are acquiring ProClarity, which as everyone knows is integrated into the iMIS Analytics product as our main viewer.

http://news.com.com/2110-1012_3-6057068.html?part=rss&tag=6057068&subj=news

"Microsoft announced Monday that it plans to acquire business analytics software developer ProClarity, a third party Microsoft developer, ProClarity to increase its presence in the business intelligence market. Proclarity has business analytics that work with such Microsoft products as SQL Server 2005, Microsoft Office Business Scorecard Manager 2005 and Microsoft Office Excel. Microsoft's Office productivity suite and server products, such as its SharePoint portal software, are expected to feature business intelligence and collaboration capabilities.

e-CM hidden feature #1: user tracking and blocking simultaneous logins

e-CM has many unknown and unhighlighted features. I will be blogging some of these features over the coming weeks to help highlight these items and give everyone some insight into what can be done with e-CM out of the box.

SCTrackLoggedInUsers and SCBlockSimultaneousUsers are two parts of a security tracking system. What this does if either one is enabled (see ApplicationOriginal.cfm lines 345-370) is builds a mechanism to record users who are logged into the system, what their location is within any pages under the /AM directory, when they got to that location, what their ContactID is and finally what their CFID and CFTOKEN are.

So what is this tracking used for? Well two things:

1) Blocking simultaneous login with the same credentials: If SCBlockSimultaneousUsers is enabled, the system checks to see if someone with the same ContactID is already logged into the system by examining the mechanism above. If someone with that ContactID is already logged in, then it checks to see if the CFID and CFTOKEN of that users match with the information stored above. If there is a match here then the system knows it is the same person and they must have accidentally closed their browser, so it lets them back in. If the CFID and CFTOKEN do not match, then the system assumes this is someone else entirely, since they are coming from a different browser and it will not let them in, UNLESS the timelimit for inactivity has passed. This timelimit is determined by another application variable, SCMinutesToBlockUser. If the inactivity time has passed, then the user can log in. This is all meant to keep people from sharing the same login credentials and using them at the same time. If the user cannot login after all of this, they are presented with the message stored in SCSimulUserBlockedMessage. If the user logs out by actually hitting our standard logout page, then all their information is cleared, and they can log back in without any problems.

2) Tracking: To view where users are in the system and if the above mechanism has been enabled, you can go to /AM/Admin/Security/showLoggedInUsers.cfm. This interface will show you all the people who have logged into CM, their names, email addresses, iMIS IDs, current location and when they got to that location. This page also provides a mechanism for unlocking any specific person or all people in the system. What this means is that say someone calls into the organization saying they cannot log back in because they getting blocked, an admin to come onto this page and unblock that specific user to allow them to log in. The page that unblocks users is at /AM/Admin/Security/clearSimUserBlock.cfm

I know this is a lot to cover. I hope it helps. If you have further questions, please post them here so that everyone can learn about this unknown feature of CM.

Useful IA web site

One of the key consulting tasks with the implementation of e-Content Manager, or any content management system or web site implemenation, is Information Architecture. Without a good IA, users will not be able to get the most of your system and might even be driven away if the IA is very bad. Also, your staff will have difficulty in maintaining the information for which they are responsible since finding that information will be time-consuming with poor IA.

Boxes and Arrows is a great IA web site with lots of useful information: http://www.boxesandarrows.com/

In particular, I would recommed checking out this recent article: Change Architecture: Bringing IA to the Business Domain by Bob Goodman (http://www.boxesandarrows.com/view/change_architecture_bringing_ia_to_th...) As information architects, we are not just architecting information; we are using information to architect change. Bob Goodman shows us how we can use business and management techniques to help us be more effective agents of change.

Book recommendation for OO

In ASI Consulting this year, the Technical Solutions Team is starting to plan for future development and technologies for clients. To that end, we are requiring a book for all the team members to read to help them start to get a good understanding of object-oriented design and best practices. OO, at least at its basic levels, is something that can be done today in ColdFusion. Also in moving to new technologies in the future, OO will be the methodology of choice for nearly all of these technologies.

The Object-Oriented Thought Process 2nd. Ed. by Matt Weisfel. http://www.amazon.com/gp/product/0672326116/sr=8-1/qid=1143567046/ref=sr...

This is a great introduction on how to think about OO, which is usually a big shift for developers coming over from a language like ColdFusion, esp. its earlier iterations.

Syndicate content