- keep sorting on refresh (file list & search results list)- image preview in file list has slide show functionality and the "view" link is only available for png, gif, jpg/jpeg files)
Fixed cases where previous selection might cause confusion (selection still showing for a while while new folder selected is updated) or minor bugs (no right-click menu appearing even though it looks like file(s) are selected).
Fix bug: Using the tag buttons with "(Multiple values)" would keep it as a tag.
Add multiple file selection properties dialog allowing editing of tags and versioning.
Also allow data.
Remove any parameters before storing uri.
Fix bug: When renaming file, selected file was not updated, leading to a 404 error if user tried to view properties of renamed file. (Bug #752)
Fix bug introduced through stupid Eclipse cleanup.
- Check when renaming file that name doesn't already exist.- Add constraint to DB to ensure we don't get duplicate filenames.
Throw any exceptions thrown unwrapped. This way, the caller knows what it's dealing with in its try/catch block.(Previously, everything thrown was an Exception and most (all?) callers would simply turn this into a 500 error, since they don't check the cause.)
Make folder updates work with a single DB transaction (EJB call). Now the modification date on every child file is properly updated. Also rename modifyFolder() to updateFolder() for consistency with updateFile() and make setFilePermissions/setFolderPermissions private helper methods.
Make file updates work with a single DB transaction (EJB call). Besides the performance benefits, this change properly updates the modification date on every file update.
Requests without Authorization header should be rejected by isRequestValid().
Merge with 6e728a7cfa0b1004acb2613421e261890e560813
Double the retry attempts and the retry timeout in an attempt to better handle the load on the app servers. Also log the final failed retry so that it is greppable in the logs.
- Add constraint in order to avoid double entries due to concurrency. (Happened twice in production.)- Add versioning to avoid lost updates. (Impossible to tell if it has already happened.)
correctly sense if GWT compilation is needed
Don't cache the API responses, since we do it in the various operation handlers.
Add a custom error page for HTTP status 503.
Don't cache the login, nonce, token and policy paths.
Make sure nocache files are never cached and cache files are cached for a year. This way redeployments should never require cleaning the browser cache again. Also, cache everything else for 40 days, to make the application startup snappier.
Use the modification date for files in search results, too.
Send and display modification dates for shared, others and trash namespaces, since the UI file list code is the same for both the files namespace and these virtual namespaces. It is also more consistent to use the same reduced file representation for every namespace.
Allow setting the modification date when updating a file.
- Display the modification date instead of the creation date, since the former is more useful.- Fix sorting on the owner column.- Make sorting comparisons more efficient by removing unnecessary object creation.
Update the FileHeader auditInfo when uploading a new body.
Parse the modification date for files in the folder.
Chase the JDK update.
merge
better matching of MS Office mime types (in showing file icons and indexing)
Retry transactions in the face of optimistic locking exceptions for all "write" transactions in WebDAV API.Move TransactionHelper class to EJBs so it is visible from both REST and WebDAV WARs.
Retry transactions in the face of optimistic locking exceptions for all "write" transactions in REST API.
Change to folder modification semantics: When anything inside a folder is updated (including file and folder metadata), modification user and date should be updated also for all parent folders up to root.
Don't show loading indicator for suggestion.
Fixed broken caching in IE.
Prevent any client from creating group including / in name (by sending BAD REQUEST response.)
Hide download and property file menu options on multiple selection
Added the groupURI parameter when parsing permissions, which precedes the group parameter. This allows the unique identification of groups throughout the application. We keep the group parameter for backwards compatibility with old clients
Fix bug: Delete user didn't work for group with international name.
Fix wrong encoding in new folder names, by returning the already constructed URI. This required that createFolder() returns the newly-created folder, which was always a good idea (builder pattern).
Update the 32bit VM due to a new jdk update.
Retry transactions in the face of optimistic locking exceptions when creating folders or modifying resources. Also avoid an extra EJB call by returning the modified folder after the fact.
- Correctly check whether the group has already access to the resource- Check NPE (to be on the safe side & clear warning)- More appropriate messages
minor cosmetic change: appropriate button label
correctly refresh the OthersShared folder tree on folder renames
only sumbit changes to permissions if there are any
properly select and expand the tree item (group) that was previously "selected", upon updating the tree
be consistent: show sharing option in shared folders, as we do in shared folders
Silently replace @ character when uploading. (Will have to do at least till a proper solution is found.)
Use URL.encodeComponent() instead of URL.encode() as it encodes a few more characters that may appear in filenames and URL.encode() left unencoded.
Increase stack size as compiler in Windows chokes with default size.
Avoid a NPE when the next parameter is empty.
Fix multiple file uploads in IE using Google Gears. It needed a POST instead of PUT, which required accommodating it in the server-side code. Also, error codes from file uploads are not handled in IE, since merely accessing the request.status field throws an internal error.
Add a custom error page for 403 errors and apply the main site style to all error pages.
Parse the nextUrl parameter with URI instead of URL so that chrome: URIs can be used for redirection. This should simplify the login process for Firefox extensions.
Upgrade gwt-dnd to version 2.6.4 for bug fixes and better support of GWT 1.6. Also add a commented-out flag for enabling detailed GWT compiler output.
Don't use the unsafe Accept-Charset header, since its contents are already defined in the Accept header and Webkit (Chrome, Safari) complains about it.
Use Lytebox (a Lightbox clone) for quick viewing images.
Disable multiple uploads using Gears for IE, until we investigate the problem.
do not show the "Save as" option on multiple selection
display message while image loads on the client viewer
avoid class cast exception in multiple file selection
take into account Mac OS clients
initial implementation of a simple image viewer ("View Image" command in the file context menu)
Cosmetic changes (widget sizes and alignment)
- added a few more mime-types when attempting to identify mime-type from the file extension- remove warnings (uneeded throws declarations)
Merge with d1e79f3c8c8779d14ab5297049bdc0812f942654
ignore case when examining the file extension for guessing the mime-type
Fixed bug that prevented tags with international characters from being indexed properly, causing search to fail. (Bug #864 #2)
Fixed broken search for international characters. (Bug #864)
Merge with 24c6efe7ed90856868433076609836d2a95f7154
Fixed bug: When copying a versioned file, destination versioned flag wasn't set, causing only last version to be copied.
Fixed problems copying/moving via drag-and-drop had with international characters in file / folder names.
dropped SOAP
Fixed corner case: When selecting 1 row and then the one above it via shift-click, only one row would be selected instead of the correct two.
Merge with f948e955504b0f4f31c1fe813f97f0297cd64cdb
- more efficient moveFile implementation- code clean up for better maintenance and easier implementation of future file storage layering
Move create new WebDAV password URL from /users to plain / for user.
Merge with fb4f6b87b576c0adf49a83ca6285a89f6154709c
Add Cut, Move to trash and Delete options to Other's shared context menu.
Reauthenticate user when creating new WebDAV password, so the new password gets sent back in a secure way.
- add status panel refresh wherever needed- remove various warnings- display "move" option for "Shared" folders
refresh status panel on delete folder
refresh status panel on Paste
Merge with 2a2d62f9da9674f80214a52654521f9e6d807b99
Switch reset WebDAV password from GET to POST.
Use a different strategy for login in development environments that does not require me to recompile the web client for production deployment. Now, if the testUsername property is found in gss.properties the server treats the value as an authenticated username....
Merge with 7326fe16b35cbc65c6c6e1c59d8f7e107cd351ce
Add forgotten getter and setter.
Fix a typo.
If no WebDAV password has ever been generated, copy token to it at initial login, to make sure user sees value in Show Credentials dialog.
Merge with 1c0e8bb4b8b36009b768310cf3c323380e6c7f87
Properly update root "other's shared" when refreshing / expanding tree after other user has changed sharing. (Bug #703)
Properly update others shares when refreshing / expanding tree after other user has changed sharing. (Bug #703)
Use a single configuration entry for the service home URL and avoid hardcoding it in the logo image link.
- Remove completely Permission entry for user that get assigned no permissions at all when updating file / folder permissions.- Delete orphan Permission entries when updating file / folder permissions. (Used to stay behind)
When using token as WebDAV password (fallback case), also copy it to webdavpassword field so it will never expire.
Fallback for transition to new WebDAV password: If no password has been created, use token as before.
Merge with cb72e6e4ab36e8a6966f6f33af76e8f32ee53305