Web application R&D notes, from the world of Java, Flex, CSS, XHTML, Flash, .NET, cross-browser compatibility, JavaScript, AJAX, ADA compliance, Photoshop, and any and all things related to Web development!
22 May 2009
Input masking
Ever needed to mask the user's input on a web form so it complies with a specific format (time, credit card, etc.)? Well, here's meioMask to the rescue.
Online tool to build web sites
Came across Circlepad.com, which promises to help you build sites without having to know CSS or HTML, and to simply drag-and-drop components.
20 May 2009
Browser-based testing tool
If you find yourself typing the same thing again and again while testing a site, here comes Selenium to the rescue. It's a Firefox plugin that records and plays back your keystrokes. The Selenium site has a nice demo video.
19 May 2009
Importance of browsers to business
If you're a web developer, you already know this: Don't ignore the variety of browsers out there and keep an eye on the handheld devices. Some organizations standardize their web apps for one browser; big mistake: http://www.infoworld.com/t/browsers/ignoring-your-businesss-browser-thats-mistake-873?source=IFWNLE_nlt_daily_2009-05-19
Second Adobe article published
Adobe has published my second Flex article: Uploading a File with Flex and Java.
15 May 2009
Adobe Acrobat's IOError solution
Adobe Acrobat Pro can throw an error if it tries to generate a PDF and the original document contains non-system fonts. The error's actually coming from Distiller:
Solution? Simple: Under your printers in Windows, right-click Adobe PDF, choose Properties > General tab > Printing Preferences. Make sure the checkbox for "Rely on system fonts; do not use document fonts" is off.
Also, the same thing can happen on the online Acrobat.com tool:
Unless the document you upload has the fonts it needs embedded within it, it will throw an exception. The conversion server has only so many fonts; there's no way it can have every possible typeface that people might use.
%%[ ProductName: Distiller ]%%
%%[Page: 1]%%
%%[Page: 2]%%
%%[Page: 3]%%
%%[ Error: ioerror; OffendingCommand: imageDistiller; ErrorInfo: DCTDecodeFilter Source error or end in scan 0 8x8 block 71491 ]%%
Stack:
-dict-
%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
%%[ Warning: PostScript error. No PDF file produced. ] %%
Solution? Simple: Under your printers in Windows, right-click Adobe PDF, choose Properties > General tab > Printing Preferences. Make sure the checkbox for "Rely on system fonts; do not use document fonts" is off.
Also, the same thing can happen on the online Acrobat.com tool:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.adobe.dc2.view.body.library::LibraryCPDFView/createPDFDone()
at com.adobe.dc2.view.body.library::LibraryCPDFView/updateStatus()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
Unless the document you upload has the fonts it needs embedded within it, it will throw an exception. The conversion server has only so many fonts; there's no way it can have every possible typeface that people might use.
13 May 2009
11 May 2009
Get feedback on your designs
A new site promises to provide feedback to design and marketing professionals for their concepts:
ConceptFeedback.com, expected to launch next month, will host an active community of professionals dedicated to offering quick, actionable feedback on marketing concepts. Concepts, ranging from websites and landing pages to logos and advertisements, can be posted for free and reviewed by peers. Registered users will have access to free third-party insight, private concept sharing tools and networking opportunities. (From PrWeb)
09 May 2009
08 May 2009
Flex Error 2032: Stream Error
While building your Flex apps, if you run into Error 2032, a great resource is Juda's Blog. It has helped me and folks are continuing to post to it.
Create abstract Photoshop effects
Here are some great tutorials on creating abstract backgrounds in Photoshop: http://www.tutorialmagazine.com/15-best-photoshop-abstract-tutorials. Thanks to Robin Cannon on LinkedIn.com.
04 May 2009
JSF ViewExpiredException fix
After spending some time wrestling with this beast, I might have found a solution. Here's the scenario:
After a lot of research on the web, the following context parameter in the web.xml file resolves it:
To see it in action, set your session timeout to 1 minute in web.xml:
However, be careful using this setting: You will cause the entire UI component tree to be serialized and passed to the client. This can increase download lag time, especially on more complex layouts. Also, there are times when sessions must expire (authenticated sessions), so you'd want to stick with the server for your state saving method in most cases.
- Launch a very simple JSF app consisting of two pages, as described by the Select example from Chapter 4 of the Core JavaServer Faces book by D. Geary and C. Horstmann (no database calls).
- Allow the session to time out.
- Use your browser's back button to return to the index.faces page.
- Re-submit the form.
- Watch the app blow up with this exception:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: viewId:/index.faces - View /index.faces could not be restored.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
javax.faces.application.ViewExpiredException: viewId:/index.faces - View /index.faces could not be restored.
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:186)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
After a lot of research on the web, the following context parameter in the web.xml file resolves it:
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
To see it in action, set your session timeout to 1 minute in web.xml:
<session-config>
<session-timeout>1</session-timeout>
</session-config>
However, be careful using this setting: You will cause the entire UI component tree to be serialized and passed to the client. This can increase download lag time, especially on more complex layouts. Also, there are times when sessions must expire (authenticated sessions), so you'd want to stick with the server for your state saving method in most cases.
Subscribe to:
Posts (Atom)