- Fixed parsing of locale string to use I18NUtil.parseLocale and not Locale constructor
- Fixed type conversion of properties returned from MLPropertyInterceptor's directNodeService
- Fixed handling of ALL_LANGUAGES filter selection
- Fixed MultilingualContentService NPE when checking for duplicate locales
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5007 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Now as soon as you create a web project, you can put
static content into it, & preview via the virtualization
server. You don't need a WEB-INF, META-INF, and so
forth, but I'm leaing in the warning about the lack
of web.xml for now. This means when you first create
a project, you'll see a harmless warning about the
lack of a web.xml file in the log per virtualized area.
Later, I might add context-sensitivity (no pun intended)
issue the warning about the lack of a web.xml only when
it "looks" like there should be one.... but for now,
it always warns (even when you first create the project).
Another "todo".
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5006 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Web Client support for changing content filter language
- I18NUtil support for contentLocale
- MLPropertyInterceptor handling of properties inbound and outbound
TODO:
- Is new Locale("") valid?
- Some more tests to ensure property interceptor is working
- Move interceptor into .sample config file
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5003 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Now the virt server can react properly when a file in WEB-INF
(such as a jar or web.xml file) is submitted to staging.
Details
-------
More testing is needed, but the basic stuff looks ok.
Here's a list of the events within the webapp that
the virt server is now able to receive & handle properly:
o Invite user to web project
o Create web project
o Delete sandbox
o Delete web project
o Submission of files to WEB-INF
The virt server does not yet get:
o Revert events
o Out-of-band changes from CIFS (and probably never will).
The plan to deal with changes made to critical files in WEB-INF
is to have an exlicit control available within the webapp.
It does not yet handle "approved with changes" very gracefully.
That can probably be fixed over the next few days.
Gory details
-----------
projects/core/source/java/org/alfresco/util/VirtServerUtils.java
Moved pattern that detects whether virt server needs
updating in from AVMConstants, due to build dependencies;
now this function is needed by workflow, which is in the
repository package.
projects/repository/config/alfresco/avm-services-context.xml
Added AVMSubmitTransactionListener bean to allow virt
server notification to hapen immediately after the
submit transaction has been committed sucessfully.
projects/repository/source/java/org/alfresco/repo/avm/wf/AVMSubmitPackageHandler.java
Added transaction listner that does the virt server update,
and added the list of staging diffs to AlfrescoTransactionSupport
as a bound resource.
projects/repository/source/java/org/alfresco/repo/avm/wf/AVMSubmitTransactionListener.java
Does the actual notification of the virt server.
The logic in this class still needs some work to handle
"approved with changes" gracefully, but it does do
the right thing when it comes to recursively reloading
staging when a jar or web.xml file is modified.
Light testing so far, but looks ok. Consider this
a point checkin only. A singleton of this class is
instantiated via the Spring config avm-services-context.xml,
and used by AVMSubmitPackageHandler.
projects/web-client/source/java/org/alfresco/web/bean/wcm/AVMConstants.java
Removed the utility function that tests whether or not
updating a file would require the virt server to be notified.
This class would benifit from a major cleanup when time permits.
projects/web-client/source/java/org/alfresco/web/bean/wcm/SubmitDialog.java
Using the function that was moved/renamed from AVMConstants
to VirtServerUtils that tests if a given file update requires
a virt server notification message.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4990 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Now direct submit notifications to virt server occur,
and within workflow-driven submits, the virt server
is notified about the worflow sandbox; this allows
the reviewer to see what's being reviewed in-context.
TODO: revert, update of virt server when content moves
to staging from a workflow sanbox, handling destruction
of workflow sandboxes, and oddly enough, submitAll
(the webapp uses a different wizard for that).
Gory details:
projects/catalina-virtual/source/java/org/alfresco/catalina/host/AVMHostConfig.java
Now more forgiving about if whether it is passed appBase, a webapp,
or a path within a webapp on update & remove notifications
projects/web-client/source/java/org/alfresco/web/bean/wcm/AVMWorkflowUtil.java
Takes a SandboxInfo instead of a store id.
This makes it easier to get name of workflow sandbox for virt server update.
projects/web-client/source/java/org/alfresco/web/bean/wcm/CreateWebContentWizard.java
Passing SandboxInfo, instead of store id
projects/web-client/source/java/org/alfresco/web/bean/wcm/SubmitDialog.java
Added notification to allow reviewer to see submitted changes in-context
via the virtualization server
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4968 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- this component is generally used to render FreeMarker templates directly to the page - particularly useful for Dashlet pages
- now supports an additional attribute 'templatePath' which should be set to a cm:name based path to a template for rendering
- For example the simplest portable dashlet JSP page to render a template would look like this:
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<r:template templatePath="/Company Home/Data Dictionary/Presentation Templates/my_docs.ftl" />
- Fixes http://issues.alfresco.com/browse/AWC-1091
. Additional helper override for resolving cm:name based webdav style paths to a NodeRef
. ClipboardItem interface javadoc and removal of obsolete methods from implementing classes
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4963 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/DEV/EXTENSIONS@4848 svn://svn.alfresco.com:3691/alfresco/BRANCHES/DEV/EXTENSIONS@4850 .
Added RegistryService and registryService beans
Create ConfigurableService and moved the configurableService bean to be a low-level (untransactioned) component
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4955 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- AVM files and folders can be cut and copied to the clipboard
- AVM files and folders can be pasted (copied or moved) around a sandbox
- The usual "Copy of …" filename logic applies
- Cut and Copy actions now appear for AVM nodes (as appropriate for user permissions)
- Refactored logic for cut/copy into specific clipboard item classes - WorkspaceClipboardItem and AVMClipboardItem
. Fixed unreported issue where the DownloadContentServlet was unable to open content for AVM paths containing a space character
. Pager control border style alignment improvement
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4943 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Cut and Copy actions now appear for AVM nodes (as appropriate for user permissions)
- AVM nodes now appear in the clipboard
- All content nodes in the clipboard are now clickable links which display the content for the item
NOTE: avm nodes cannot be pasted anywhere yet :)
. Fixed 2.0 styles for Simple Search pop-up
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4929 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
handling the case where create web content is called with no forms configured for the web project
some more progress on xf:switch
updated tests - including one from ken at berkeley who is trying to use forms to write grant applications.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4925 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Clipboard actions now based on NodeRef not "id"
- Added notion of "workspace" and "AVM" specific clipboard items
- Clipboard bean supports creating different ClipboardItem types (workspace or avm)
. ActionLink parameters are now "toString()"ed rather than assumed String
. Optimization to Portal Tree Navigator support
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4924 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Virt server notification is still needed for submit & rollback ops.
AVMHostConfig.java
Made virt server clean up virtual webapps in work dir
when sandboxes and/or web projects are deleted.
AVMUrlValve.java
Made virt server respond with an error page
when a bad virtual hostname is accessed
(rather than just put up a blank page and
throw an exception in the logfile).
The error page is currently hard-coded in English
(hopefully that will change soon).
AVMEditBean.java
Inserted more virt server notifications
DeleteWebsiteDialog.java
Inserted virt server notification
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4908 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
introducing concept of composite widgets for handling YearMonthPicker and MonthDayPicker.
streamlining call point for commiting value changes.
more work on implementing xf:switch.
removing deprecation warning from DatePickerGenerator.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4889 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- added ViewRoot which presents a title, rather than a bounding root group. made the xform generator place all components within a single root group to support this.
- adding highlighting for the currently selected repeat item. found a bunch of bugs in how the current repeat item is being set. only dispatching the origin repeat select index for nested repeats. correctly setting the repeat index after move operation
- updated css to match latest css changes to the product.
began implementing support for inherited complex schema types.
- adding support for xf:switch and xf:toggle in xforms.js.
- refactored and cleaned up a particularly hard to understand part of the xform generator which handles inherited complex types.
- not pretty printing the resulting xml from create web content or edit as it introduces unwanted text nodes which can confuse chiba when xsi:nil is used (i'm using xsi:nil to disable validation when i use xsi:type since otherwise there's a NullPointerException in chiba because it doesn't understand complex type definitions).
- need to think about the design a bit more before continuing with this. chiba has limitations with how it handles xsi:type which makes it difficult to figure out the correct case to select at schema generation time, especially if the item is repeated. also, currently the generator emits a select1 to select the type which controls the switch. i'm not sure whether i actually want a separate select control to manage the switch...
added a test for date types and removed the old one.
added a test for inherited types.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4886 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
The highlights of this checkin are:
o No need to manually remove virt server work dir anymore
o Now contents of work dir are virtualized in addition
to the jars in memory. Starts / reloads faster,
plus a lot more scalable.
o You can create users & invite them to web project,
delete their sandboxe, etc. Works.
o Virt server picks up new web projects properly
even when these projects were created after
the virt server was started.
Not done:
o Need to play the same game with classes dirs that
I'm doing with lib dirs. Should be easy now.
o Some cleanup is needed in the way that sandboxes
are destroyed. Works, but on the brittle side.
Not urgent.
o Because of problems with RMI auth, you still need
to startup the alfreco webapp before the virt server,
and if one poops out, the auth code does not recover
that well yet. Britt & I will have to deal with
this over the next few days.
Gory details:
root/projects/catalina-virtual/config/server.xml
Turned off autoDeploy entirely.
Now all reloading is explicit via JMX
Put the request dumper valve into a comment.
It's for debugging purposes only (and slows stuff down).
root/projects/catalina-virtual/source/java/org/alfresco/catalina/host/AVMHost.java
Cleaned up api a bit.
root/projects/catalina-virtual/source/java/org/alfresco/catalina/host/AVMHostConfig.java
Recursive reload of webapps.
root/projects/catalina-virtual/source/java/org/alfresco/catalina/loader/AVMWebappLoader.java
Recursive reload of webapps.
root/projects/catalina-virtual/source/java/org/alfresco/catalina/valve/AVMUrlValve.java
Cleaned up & refactoring
root/projects/catalina-virtual/source/java/org/alfresco/mbeans/VirtServerRegistrationThread.java
Using new api from AVMFileDirContext
root/projects/jndi-client/source/java/org/alfresco/jndi/AVMFileDirContext.java
Cleaned up api, made non-fatal log messages 'debug' rather than 'info'.
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/AVMConstants.java
Added new constant.
This file needs to be refactored soon.
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/AddAvmContentDialog.java
Moved virt server notification to doPostCommitProcessing
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/DeleteSandboxDialog.java
Fixed notification of virt server.
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/ImportWebsiteDialog.java
Moved virt server notification to doPostCommitProcessing
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/InviteWebsiteUsersWizard.java
Moved virt server notification to doPostCommitProcessing
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/SandboxFactory.java
Added new property to sandboxes to make recursive reload efficient.
root/projects/web-client/source/java/org/alfresco/web/forms/ServletContextFormDataFunctionsAdapter.java
Now uses new AVMFileDirContext api.
Removed System.err.prinln() statements.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4839 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
. WCM ContentReviewer bug fix - role can no longer seem Forms (as they cannot create - they can only edit existing items)
. Submit dialog bug fix - can now press OK after entering workflow config when the dialog previous displayed an error
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4830 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- using the same hidden upload mechanism as used for uploading schema.
- fixing bug where values aren't being prefilled for rendering engine templates after the first has been uploaded.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4823 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- All users can now Read/Browse content in the Staging Area
- None of the user roles (including Content Managers!) can create/edit/delete directly in the Staging Area
- The only exception to this rule is the system admin user - who can do anything anywhere in the app…
- Content Publisher roles can now view other users sandboxes - but in Read mode only
- http://issues.alfresco.com/browse/WCM-211
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4803 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- fixing various upload related bugs (resize issue, not handling file exists exception, not attaching uploaded files to workflow, loosing some of the uploaded files, and probably some more).
- reusing upload_helper.js code from xforms.js. added facility for having the javascript return page return an error and file type image to support xform - doesn't effect other usages (create form).
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4800 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- sizing of selected item lists
- No modified items/no web forms messages added to sandbox views
- Sizing of output path text boxes
- Description textboxes in web project wizard now textareas
- Selected Web Forms list in Create Web Project wizard now looks like lists in Create Form Wizard
- Improved list layout in Configure Templates dialog
- Mimetype of template shown next to name in list in Configure Templates dialog
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4793 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- help cursor mouse over added to help icon
- incorrect alt text removed
- renamed output path pattern help jsp page to standard naming convention
. Found that all "Required Field" images in our JSPs with ALT text were not I18N - find-and-replaced all occurances with an I18Ned message
. Some more WCM UI improvements/fixes
. Fix up of 3rd Party Eclipse project after xalan library changes
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4780 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- fixing row highlight bug in repeats when they're moved around
- attempt to fix move up move down issues for tinymce - but mce is really not behaving at all
- fix for folder icon in manage task screen, but doesn't really solve the problem that inappropriate actions are available.
- some minor fixes for create form wizard summary page.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Added debug logging for various things in AVMSyncServiceImpl.
Fixed "from" path in workflow submits so that the ROOT directory
does not get wiped out in the originating sandbox.
Fixed avm.jsp so that it works again.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4771 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
fixing columns in create form wizard to not move around wildy once files are uploaded
fixing some bugs in repeats as a result of the chiba1.3 upgrade.
- xpaths were not being resolved for newly created instances (and shouldn't be)
- xpaths for nested repeats weren't behaving properly
fixed caching issue in edit which was causing the wrong form to be loaded for instance data
using alfresco namespace as defined in NamespaceService
passing namespace uris and prefixes to js to avoid errors if they should change
fixed a bug where the renditions property of forminstancedata was getting duplicate renditions (and thus regenerating way too much stuff when doing an edit)
using an italic 'description not set' when description isn't set in several screens.
using the avm service to set properties in renderingenginetemplateimpl.
upgrading to xalan-2.7.0 in order to be able to use bsf for extension functions.
adding the path that was not found to AVMNotFoundExceptions. very helpful when debugging.
substantial refactoring of rendering engines in preparation for integration with TemplateService.
- implementing a common model as a hash of QNames to objects. for method, providing a simple method wrapper called TemplateProcessorMethod which takes an array of Objects as a parameter, and returns an object. it is up to the template processors to properly convert arguments. a QName is used for the variable name rather than a string in order to include a namespace prefix (needed for xsl, and generally better looking).
- for xsl, using javascript bindings for formdatafunctions, which using liveconnect within rhino to call into the xsl rendering engine to evaluate the function. it ends up generating this js block into a xalan:component within the xsl tempalte:
// gets the handle to the backing java object which can invoke the function based on id
var _xsltp_invoke = java.lang.Class.forName('org.alfresco.web.forms.XSLTRenderingEngine$ProcessorMethodInvoker').newInstance();
// utility to convert js arrays into java
function _xsltp_to_java_array(js_array) {
var java_array = java.lang.reflect.Array.newInstance(java.lang.Object, js_array.length);
for (var i = 0; i < js_array.length; i++) { java_array[i] = js_array[i]; }
return java_array; }
// js handles to each of the form data functions which uses _xsltp_invoke to call the actual method
function _getAVMPath() { return _xsltp_invoke.invokeMethod('_getAVMPath8829055', _xsltp_to_java_array(arguments)); }
function parseXMLDocuments() { return _xsltp_invoke.invokeMethod('parseXMLDocuments12235190', _xsltp_to_java_array(arguments)); }
function parseXMLDocument() { return _xsltp_invoke.invokeMethod('parseXMLDocument15280968', _xsltp_to_java_array(arguments)); }
xml model data is inferred as a root namespace document within the model hash provided.
- for freemarker, things pretty much work as they did before, just i now need to convert values by hand to TemplateModels
fixed a bug with hidden iframe upload. seems like the complexity of actually cloning the file input element is unnecessary and that simply attaching the node in two places within the dom works just fine.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- View previous file version content
- Sorted by most recent version first
- Revert to a previous version action
. Some more changes to Create Web Project wizard from Usability Review
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4756 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261