Please feel free to add any comments and suggestions.
***************************************************
Alfresco-based resources:
http://wiki.alfresco.com/wiki/Forms_Authoring_Guide - Details on incorporating widgets into an xsd
http://wiki.alfresco.com/wiki/Creating_XForms_Widgets - Details on creating XForms Widgets
***************************************************
Environment:
Testing on Alfresco Labs 3.2
using the embedded dojo version 0.4.1
Application server: tomcat 6.0.18
OS: Ubuntu 9.04 x64
Linux kernel: 2.6.28-11-server
Using the WCM form created from Dr. Q's Web Form tutorial (http://drquyong.com/myblog/?p=116), the "advanced-press-release" form
***************************************************
Implementation Example 2:
For the next example, I wanted to verify appended code in the xforms.js file. This time I will duplicate an existing javascript class and rename it.
Step 1: Update xforms.js
Step 1.1: Create a backup copy of
Step 1.2: In a modified copy of the file, copy the entire javascript class for ComboboxSelect:
alfresco.xforms.ComboboxSelect1 = alfresco.xforms.AbstractSelectWidget.extend({
......
});
Step 1.3: Paste the same block of code under the existing class; rename the class:
alfresco.xforms.ComboboxSelect2 = alfresco.xforms.AbstractSelectWidget.extend({
......
});
Step 1.3: Overwrite
Step 2: Update web-client-config-wcm.xml
Step 2.1: Update the widget created in the previous example to point to our new javascript class:
Step 2.2: Overwrite
Step 3: Restart Alfresco
Step 4: Verify update
Step 4.1: Open Form in web project
Step 4.2: Expand the Keyword section of the form
Step 4.3: Click on the + symbol to add a Keyword node to the form
Step 4.4: Verify that the form renders as a drop-down list with four or less elements, then we can be confident that the code is working.
*** Blocked: When I attempt to verify, I cannot get the widget to show in the form. Clicking on the + button does appear to add an element to the Keyword group, but that element is blank. Also, clicking on the + for the Keyword group causes all events to freeze on the form. None of the other + or - buttons on the form work at this point.
[updated 10/12/09]
*** Unblocked: Although I did restart the app server (i.e., tomcat) multiple times, alfresco didn't render the control. However, the next day the widget was working correctly. I believe it was a caching issue on the browser itself. It took a full shutdown & restart of my laptop (and subsequently, my browser) to re-cache all files.
My current explaination is that the xforms.js was cached on the local browser. So, when the xforms/chiba engine rendered the webform into our new javascript class, the included javascript file was outdated & didn't contain the new class.
***************************************************
[updated 10/12/09]
The following are some OOTB defined loggers:
#This is the logger for alfresco web scripts; specifically, the logger.log() function
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=debug
#This is the logger for dojo widgets; specifically, the alfresco.log() function
#note that this logger alters the appearance of the web form by appending each widget's div id to the label
log4j.logger.org.alfresco.web.forms=debug
#Other loggers of note; I will attempt to update these as necessary
log4j.logger.org.alfresco.web.scripts.AlfrescoScriptDebugger=off
#An X11 server-side javascript debugger which will allow code breaks and stepping through code during run-time.
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhineScriptDebugger=off
log4j.logger.org.alfresco.web.scripts=warn
log4j.logger.org.chiba.xml.xforms=info
log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=info
log4j.logger.org.alfresco.repo.jscript=info
log4j.logger.org.alfresco.web.config.forms=info
log4j.logger.org.alfresco.repo.forms=info
log4j.logger.org.alfresco.web.forms.xforms.XSLTRenderingEngine=info
log4j.logger.org.alfresco.web.scripts.ScriptLogger=warn
***************************************************
Existing JIRA issues regarding this process:
https://issues.alfresco.com/jira/browse/ALFCOM-332 -- states that the ootb xforms.js must be touched instead of having an external overriding copy as would be the usual method of overridding and extending.
No comments:
Post a Comment