- 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
- misc ui fixes per usability meeting this morning
- using action node path in XFormsBean since current path isn't reliable in workflow context
- getting location column to work in manage task screen. had to use actioncontext.id for wcm actions since path can be a Path object in workflow screens
- adding property resolvers to AVMNode for common props
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4731 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- added new wcm specific client config file: web-client-config-wcm.xml
- only the workflows as defined in the WCM client config file are now shown in the various wizards
- the upside is that workflows not compatible with AVM objects are no longer shown
- the downside is that when new workflows are deployed in the system they must be added to the config file
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4725 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Renamed "Import Website Content" to "Bulk Import"
- Action can be used to import an archive of content into any folder, such as a root webapp folder or a sub-folder of content
- Action can now be used to import into a user sandbox rather than just the staging area
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4720 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- not caching the forms list within the web project as it is not being properly refreshed when the web project is edited
- better error handling in create web content for when the workflow has not properly been configured.
- more work on getting edit and preview working from manage tasks screen. it should all be in place now though i am completely unable to preview right now - need to hear back from jon. had to reduce reliance on AVMBrowseBean from actions since the current path is not necessarily properly set since it's outside of a browse context.
- some error handling in rendition if the primary form instance data is not there.
- adding a backward webproject noderef reference to the staging store to make it possible to get web project properties without an avmbrowsebean context
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4708 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
the update message that the virtualization server
gets is the path to the newly added webapp,
not the path to that webapp in the staging area.
For example, if 'bob' is added to the 'ROOT'
webapp of 'mysite', the virt server now
gets: mysite--bob:/www/avm_webapps/ROOT
not: mysite:/www/avm_webapps/ROOT
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- refactoring to generate and regenerate methods to make it easier to use project level overridden properties, and to at some point (soon) make it possible to make error handling for rendering engines more robust
- added a web project object to encapsulate web project properties and provide a central location for getting forms and rendering engines with web project level overridden properties
- made select default workflow screen match wireframes
- using the same workflowdefault type in the wcm model for web projects and forms.
- using outputpathpattern aspect consistently
- using commons.io to parse paths
- using form name rather than noderef as parameter for selected form from content forms dashlet
- fixed bug where rendition properties noderef wasn't being properly associated with renditions causing problems with regenerate
- using multivalued properties to track renditions
- remove weird registerRendition/registerFormInstanceData calls. no longer necessary since generateRendition and regenerate are done within forminstancedata and rendition
- adding default workflow parameters as property of Form
- adding a unique name property to rendering engine templates to allow for looking one up by name
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4702 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
this: mysite--guest--preview/HEAD/DATA/www/avm_webapps/ROOT/WEB-INF/...
and: mysite--guest--preview/VERSION/v1/DATA/www/avm_webapps/ROOT/WEB-INF/...
rather than: mysite--guest--preview/HEAD/DATA/appBase/avm_webapps/ROOT/WEB-INF/...
and: mysite--guest--preview/VERSION/v1/DATA/appBase/avm_webapps/ROOT/WEB-INF/...
The reason for this is that the actual "appliation base"
is and always has been "avm_webapps"; the original reason
for making the *parent* of this dir called appBase had do
do with the fact that you can have diffrent app bases
for different virtual hosts. However, in the end it causes
way more confusion than it was ever worth, so it's gone now.
The reason for all the modified files is that people were
hard-coding values in many different places, and/or defining
their own constants for something that was needed at a
higher level.
As a temporary measure (I hope), I've defined some rather ugly-looking
constants in JNDIConstants.java, and have used them everywhere:
DIR_DEFAULT_WWW = "www"
DIR_DEFAULT_APPBASE = "avm_webapps"
The reason for calling the parent of the new application base "www"
is that will be the default place that www-centric stuff happens
(therefore, it's also the level at which the overlays take place).
Ultimately, I'd like to turn these into spring configs,
and bring back support for multiple AVMHost nodes within
the same Tomcat... but it's not a priority at the moment.
Please don't hard-code any dirs named "appBase" as the
root level dir in a repo -- it's now "www", and will
change again to a function call later when/if virtual
AVMHosts come back. Keeping them as constants also
helps them to be easier to find when overhauling things.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4696 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- added utility methods to AVMConstants to extract information about stores from their names. this has to be reimplemented to look at store properties rather than inferring things from their names - but it works for now. this also centralizes all the usage of the store name to infer data about it so it'll make it easier later.
- made the problematic constants jon changed private to avoid having this problem happen again
- checked pretty much every usage of buildAVM<bla> to ensure that nothing else was broken. in the process removed the AVM part from the buildAVM<bla> part of the method to shorten it and since it's redundant with the classname AVMConstants in which their contained.
creating workflow sandboxes in a manner consistent with user sandboxes
- added a method to SandboxFactory to create workflow sandboxes. they're created with the name <storeId>--workflow-<guid>
- centralized workflow package creation code in AVMWorkflowUtil.
- refactored sandbox creation code to use new utility methods in AVMConstants and so that at some point it can be further refactored.
getting avm actions to show up in manage task screen for avm workflows
- modified the model to use different packageItemActionGroups for wcm workflows
- modified the AVMWorkflowEvaluator to allow all actions for items in a workflow package
- added some debug output to various classes
- made wcm navigation ids exposed throughout the app since they are now called from workflow jsps.
things that now work that didn't before:
- virtualization now works again with jon's new naming scheme
- some actions from the manage task screen.
known bugs introduced or remaining as a consequence of this change (i'll filed jira issues for these as soon as i commit this):
- i'm inaccurately counting the number of users in a sandbox since it's harder now to differentiate between user main sandboxes and all the other ones that are being created
- preview does not work on assets within the workflow sandboxes
- review and approve workflow does not appear to actually submit once approved. not sure if it did before
- lots of actions still do not work from manage tasks, though edit does appear to.
- i commented out the location column in the manage task screen since the path link was causing me troubles - need to put that back in.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4692 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- refactoring of revert functionality into Undo All and Undo Selected dialogs
. Performance enhancement to Node class - to cache Path value from NodeService and changed appropriate class to use this
. Fix to horribly broken values in AVMConstants
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4690 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
and automatic virtualization server registration so that
now we virtualize on URLs like this:
http://mysite.www--sandbox.ip.localdomain.lan:8180/http://alice.mysite.www--sandbox.ip.localdomain.lan:8180/http://preview.alice.mysite.www--sandbox.ip.localdomain.lan:8180/
Or if you're using EchDNS at ip.alfrescodemo.net (the default):
http://mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net:8180/http://alice.mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net:8180/http://preview.alice.mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net:8180/
The reasons behind this change have to do with:
[1] Allowing wildcard cookies to be shared with subdomains, if desired.
The scenario is that if you have an elaborate webapp that
needs a cookie to function (or some auth), the user "alice"
does not want to have to re-log in to the app just to get
preview functions to work.
[2] Making the mangling scheme compatible with I18N-encoded URLs
See: IDNA (Internationalizing Domain Names In Applications)
RFCs: 3490,3492. The problem with the old scheme was that
relied on the string "--" as a delimiter within host labels,
but IDNA uses "xn--" as a prefix to indicate that a label
was I18N-encoded (and that the app should un-mangle in the
presentation layer). Ugh.
The names of the stores was also rationalized to match the new URL
scheme. The "." delimiting host lables becomes "--" in the
repo's dir name, and the ordering of labels is reversed.
Reasons:
[1] It's nicer to see project-first ordering in the
file system because it's more tab-complete friendly.
It's also prettier visually with "ls -l" because
logically related dirs line-up visually.
[2] It's dangerous to use "." as a character in directory names
because a fully-patched version of IIS might refuse to
serve content off such a path. Weird, huh?
It's too bad that the repo's dir name can't just be exactly
the same as the fqdn (or a portion of it), but this reverse
ordering ended up being the lesser of the available evils,
because it optimizes the user's experience in each relm at
the expense of a small amont of URL <--> file system funkines.
Note that they can't be the same in any case because of the
"--" vs "." issue... so the "identity" mapping was already
a lost cause.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4688 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- refactoring of generate and regenerate calls to take a FormInstanceData object
- adding in support for overriding step title and description properties in wizards so as to be able to format them with parameters
- making the step descriptions in create form wizard reiterate the form name so as to give the user better context
- displaying avm task resources in the manage task screen. still need to get actions working and clean this up a bit.
- making output path patterns sandbox relative
- refactored utility method for combining avm paths sensitive to webapp vs sandbox relative paths.
- adding a default description for generated renditions
todo:
- cleanup some usage of AVMNode from ManageTaskBean
- get actions to appear in manage task screen
- add a multi value property to the web project for all its webapps
- properly use overridden values for forms from the web project settings
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4687 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Workflows that have not been configured at all can now be configured
- Workflows that are already configured can be modified by the user for the submission
- An error appears informing the user before submission that they need to configure a workflow if it has not been configured at all
. Refactoring of workflow task properties create/edit to use common interface across WCM screens
. Fix to issue where previously selected people in the workflow task properties screen would disappear from the list
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4679 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
so that they now include an "isRecursive" flag.
Modified code in AVMConstants to pass along the
extra arg (hard-coding it to "true", for now,
just as version "-1" is hardcoded).
Later, when we expose the ability to make archived
versions of repositories browsable via the virtualization
server, the updateVServerWebapp and removeVServerWebapp APIs
within AVMConstants.java will need to tunnel along the
version number & recursion flag.
For this to be useful, there will also need to be GUI
support for bringing old versions on/off line.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4648 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4133 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@4134 .
I had merged this to HEAD before, but it might not have made it onto the AVM branch
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4639 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- most actions such as Submit, Edit, Delete, Revert etc. are unavailable when an item is within a workflow
. Fix to preview url generation after executing an action in the Staging area that changed the UI context
. Another icon from Linton
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4638 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- modified evaluators to only show Create Form when in the Content Forms directory
- edit form evaluator which only shows the edit form action when inside of a form directory
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4627 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- adding chiba-1.3.0.jar in lib rather than chiba dir (removing chiba dir since we really only use one jar from them at this point)
- need to generate xform with unprefixed id attributes
- using a bunch of constants now defined within chiba.
- generating my own xpaths in js using binding nodesets since chiba remove the once useful chiba:xpath attribute.
- better error handling for breakage when processing schema and xform
fixing bug in create form details screen where form-name and form-title weren't being prefilled after uploading the schema.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4625 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261