Support for notification to virt server on dialog-driven revert operations.
No support yet for workflow-diriven revert notification (coming soon).
Details
-------
root/projects/catalina-virtual/source/java/org/alfresco/catalina/host/AVMHostConfig.java
Minor logging cleanup
root/projects/core/source/java/org/alfresco/util/VirtServerUtils.java
Trigger notification on submits of entire dirs: WEB-INF, WEB-INF/classes, WEB-INF/lib
(not just files within them)
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/AVMBrowseBean.java
notify virt server on revert
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/RevertAllDialog.java
notify virt server on revert all
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/RevertSelectedDialog.java
notify virt server on revert selected
root/projects/web-client/source/java/org/alfresco/web/bean/wcm/SubmitDialog.java
minor cleanup
root/projects/web-client/source/web/WEB-INF/faces-config-beans.xml
Injecting AVMSyncService into AVMBrowseBean to allow virt server
notification to occur only when a comparison between reverted
versions shows it's absolutely necessary
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5030 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
. 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
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
- 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
- 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
- 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
- Creation of new root webapp folders via specific action or via Edit Web Project wizard
- Modification of default webapp folder in Edit Web Project wizard
- Switching of 'current' webapp for staging/sandbox views in the browse web project screen
- Filtering of files in sandbox modified file list by current webapp
- Submit All action correctly respects the current webapp
. A few minor UI tweaks to placement of menus and actions in web project/sandbox views
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4594 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
. List of workflows in Submit Dialog now shows warning message when no workflows match the assets for submission
. More fixes for CreateWebContentWizard when creating non-form based content
. Edit Web Project action now available from the main actions menu for a website
. Warning indicator added to Forms page of Create Web Project wizard, when a workflow is selected but not yet configured
. Warning indicator added to Ad-hoc workflows page of Create Web Project wizard, when a workflow is selected but not yet configured
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4590 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
. Submit Dialog now requires comment+label field to be completed
. DNS name client-side check now allows captial A-Z characters
. Create Shortcut action now available for Website folder type
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4584 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- if the user attempts to submit either a single rendering asset or the form instance data for an Xform and does not include all the other associated files, then the Submit dialog will automatically add the missing assets/formdata to the submit list
- this means that a form and all generated assets are always submitted together
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4552 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
. Changes for NameMatcher usage in avm sync service compare() method
. Abstraction of AVM web-client workflow utils methods into AVMWorkflowUtil class
. Refactor of SubmitDialog to use workflow util
. Refactor of CreateWebContentWizard to use workflow utils
- now launches a workflow on submit
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4531 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
1. Refines the semantics of ghost creation, so that they only appear when
warranted.
2. Implements a mechanism for filtering out files which should not appear in comparison
results or be pushed along by updates.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4525 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- first pass of JSP layout
- multiple items or all items available for selection
- calculation of available workflows, from those assigned to form assets and assigned to the website
- creation of AVM workflow package
- starting of workflow containing AVM package (appears in users task todo dashlet!)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261