CFHowTo.com
Coldfusion Programming, Hosting, and Applications
Preview of what I'm working on
Posted on Saturday, March 31, 2012 at 8:9 pm
Posted in:  coldfusion general jquery 

For the past month I have been working on some new base code for a cms of sorts.  I wanted something simple that my clients could use and that I could easily add on to and modify.  I've been getting a lot of custom work lately and since I'm building application in Coldfusion I figured I'd create a basic application with all the general features every client will probably need.

I know there are several frameworks available to develop on top of, but I needed something simple and fast that I could easily add on to without the need of going through a learning curve-- I really don't care for the complexities of some of the frameworks as it is not necessary in CF to get over complex with your code to make it work.  So I came up with this.

I'm sure now everyone will approve of my methodologies, but I don't care.  I'm using it for my own projects, for my clients, and I plan to make this an open source beta soon.   This base code will be the ground work for the new CF Shopkart I'm working on this year.

The front end is actually this website.  I have created a simple blog that uses sharethis and disqus.  There is no built-in comment moderation yet, but I plan to add that.

A few highlights:

  • Jquery and jquery.ui integrated
  • CSS with capacity to have multiple layouts
  • Can be added on to without needing to edit any of the base code
  • Fast and simple layout (no big learning curve to go through)
  • Flexable:  Create new components in their own folders and code almost any way you want.
  • Uess TinyMCE (as jquery plugin)
  • Search engine friendly design.  All pages and blog posts are called directly and not through the index file unlike some frameworks.

Here is are some screen shots of the control panel:

Simple control panel design using css and open source icons.  Designed to also be tablet friendly.

Built in file manager that lets you give access to only certain folders so your clients can manage their website

Image library lets your clients easily upload multiple images for use in TinyMCE.

Built in image editor lets your clients resize, crop, lighten, darken, and apply a few basic effects.

Page editor makes it easy for your client to find and edit pages on their website, and even change the meta tags for each page.

So there you have it...that is what I have been working on lately besides all my regular work.  I begin updating and testing with clients this week who are already running the alpha version of this code.  If I don't find a lot of bugs in the tests this week, the beta release will be available for download to the public within a week from today.

An Error Occurred While Processing This Request.

Details of the error are shown below for the website administrator, and have been logged for troubleshooting purposes.
We appologize for this incovenience, and we will fix this as soon as possible.

Error Report

Date: 1/7/25 9:54 AM
URL: http:cms.cfhowto.com/blog/2012/3/31/preview-of-what-im-working-on.cfm
Visitor IP: 3.148.115.187
Browser: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Application:
Message: Event handler exception.
Type: Expression
Rootcause:
struct
Detail [empty string]
ErrNumber 0
Message Element ENABLEDISQUS is undefined in REQUEST.
Resolvedname REQUEST
StackTrace coldfusion.runtime.UndefinedElementException: Element ENABLEDISQUS is undefined in REQUEST. at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:2596) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:2514) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:2788) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:2778) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:2739) at cfonfooterload2ecfm1656629802.runPage(D:\home\cfhowto.com\subdomains\cms\components\blog\hooks\onfooterload.cfm:18) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329) at cfonfooterload2ecfm1414833963.runPage(D:\home\cfhowto.com\subdomains\cms\includes\onfooterload.cfm:2) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329) at cffooter2ecfm64582065.runPage(D:\home\cfhowto.com\subdomains\cms\footer.cfm:19) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:262) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:735) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:565) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:4329) at cfApplication2ecfc912860395$funcONREQUESTEND.runFunction(D:\home\cfhowto.com\subdomains\cms\Application.cfc:23) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:554) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:485) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:448) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:399) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:372) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:288) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:830) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:613) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:438) at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:115) at coldfusion.runtime.AppEventInvoker.onRequestEnd(AppEventInvoker.java:377) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:591) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:162) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:96) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:226) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:377) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:463) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834)
Suppressed
array[empty]
TagContext
array
1
struct
COLUMN 0
ID ??
LINE 18
RAW_TRACE at cfonfooterload2ecfm1656629802.runPage(D:\home\cfhowto.com\subdomains\cms\components\blog\hooks\onfooterload.cfm:18)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\components\blog\hooks\onfooterload.cfm
TYPE CFML
2
struct
COLUMN 0
ID CFINCLUDE
LINE 2
RAW_TRACE at cfonfooterload2ecfm1414833963.runPage(D:\home\cfhowto.com\subdomains\cms\includes\onfooterload.cfm:2)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\includes\onfooterload.cfm
TYPE CFML
3
struct
COLUMN 0
ID CFINCLUDE
LINE 19
RAW_TRACE at cffooter2ecfm64582065.runPage(D:\home\cfhowto.com\subdomains\cms\footer.cfm:19)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\footer.cfm
TYPE CFML
4
struct
COLUMN 0
ID CFINCLUDE
LINE 23
RAW_TRACE at cfApplication2ecfc912860395$funcONREQUESTEND.runFunction(D:\home\cfhowto.com\subdomains\cms\Application.cfc:23)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\Application.cfc
TYPE CFML
Type Expression
element ENABLEDISQUS
objectType
object of java.lang.Class
Class Name java.lang.Class
Methods
Method Return Type
asSubclass(java.lang.Class) java.lang.Class
cast(java.lang.Object) java.lang.Object
desiredAssertionStatus() boolean
forName(java.lang.Module, java.lang.String) java.lang.Class
forName(java.lang.String, boolean, java.lang.ClassLoader) java.lang.Class
forName(java.lang.String) java.lang.Class
getAnnotatedInterfaces() java.lang.reflect.AnnotatedType[]
getAnnotatedSuperclass() java.lang.reflect.AnnotatedType
getAnnotation(java.lang.Class) java.lang.annotation.Annotation
getAnnotations() java.lang.annotation.Annotation[]
getAnnotationsByType(java.lang.Class) java.lang.annotation.Annotation[]
getCanonicalName() java.lang.String
getClassLoader() java.lang.ClassLoader
getClasses() java.lang.Class[]
getComponentType() java.lang.Class
getConstructor(java.lang.Class[]) java.lang.reflect.Constructor
getConstructors() java.lang.reflect.Constructor[]
getDeclaredAnnotation(java.lang.Class) java.lang.annotation.Annotation
getDeclaredAnnotations() java.lang.annotation.Annotation[]
getDeclaredAnnotationsByType(java.lang.Class) java.lang.annotation.Annotation[]
getDeclaredClasses() java.lang.Class[]
getDeclaredConstructor(java.lang.Class[]) java.lang.reflect.Constructor
getDeclaredConstructors() java.lang.reflect.Constructor[]
getDeclaredField(java.lang.String) java.lang.reflect.Field
getDeclaredFields() java.lang.reflect.Field[]
getDeclaredMethod(java.lang.String, java.lang.Class[]) java.lang.reflect.Method
getDeclaredMethods() java.lang.reflect.Method[]
getDeclaringClass() java.lang.Class
getEnclosingClass() java.lang.Class
getEnclosingConstructor() java.lang.reflect.Constructor
getEnclosingMethod() java.lang.reflect.Method
getEnumConstants() java.lang.Object[]
getField(java.lang.String) java.lang.reflect.Field
getFields() java.lang.reflect.Field[]
getGenericInterfaces() java.lang.reflect.Type[]
getGenericSuperclass() java.lang.reflect.Type
getInterfaces() java.lang.Class[]
getMethod(java.lang.String, java.lang.Class[]) java.lang.reflect.Method
getMethods() java.lang.reflect.Method[]
getModifiers() int
getModule() java.lang.Module
getName() java.lang.String
getNestHost() java.lang.Class
getNestMembers() java.lang.Class[]
getPackage() java.lang.Package
getPackageName() java.lang.String
getProtectionDomain() java.security.ProtectionDomain
getResource(java.lang.String) java.net.URL
getResourceAsStream(java.lang.String) java.io.InputStream
getSigners() java.lang.Object[]
getSimpleName() java.lang.String
getSuperclass() java.lang.Class
getTypeName() java.lang.String
getTypeParameters() java.lang.reflect.TypeVariable[]
isAnnotation() boolean
isAnnotationPresent(java.lang.Class) boolean
isAnonymousClass() boolean
isArray() boolean
isAssignableFrom(java.lang.Class) boolean
isEnum() boolean
isInstance(java.lang.Object) boolean
isInterface() boolean
isLocalClass() boolean
isMemberClass() boolean
isNestmateOf(java.lang.Class) boolean
isPrimitive() boolean
isSynthetic() boolean
newInstance() java.lang.Object
toGenericString() java.lang.String
toString() java.lang.String
Tagcontext:
array
1
struct
COLUMN 0
ID ??
LINE 18
RAW_TRACE at cfonfooterload2ecfm1656629802.runPage(D:\home\cfhowto.com\subdomains\cms\components\blog\hooks\onfooterload.cfm:18)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\components\blog\hooks\onfooterload.cfm
TYPE CFML
2
struct
COLUMN 0
ID CFINCLUDE
LINE 2
RAW_TRACE at cfonfooterload2ecfm1414833963.runPage(D:\home\cfhowto.com\subdomains\cms\includes\onfooterload.cfm:2)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\includes\onfooterload.cfm
TYPE CFML
3
struct
COLUMN 0
ID CFINCLUDE
LINE 19
RAW_TRACE at cffooter2ecfm64582065.runPage(D:\home\cfhowto.com\subdomains\cms\footer.cfm:19)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\footer.cfm
TYPE CFML
4
struct
COLUMN 0
ID CFINCLUDE
LINE 23
RAW_TRACE at cfApplication2ecfc912860395$funcONREQUESTEND.runFunction(D:\home\cfhowto.com\subdomains\cms\Application.cfc:23)
TEMPLATE D:\home\cfhowto.com\subdomains\cms\Application.cfc
TYPE CFML
Form Variables:
struct [empty]
URL Variables:
struct [empty]