diff --git a/core/src/conf/RELEASE_NOTE b/core/src/conf/RELEASE_NOTE index 5a6d8879c0..546e861d4f 100644 --- a/core/src/conf/RELEASE_NOTE +++ b/core/src/conf/RELEASE_NOTE @@ -1,236 +1,192 @@ Pydio ##VERSION_NUMBER## Release Note -This is a development release, it should not be used in production. -This release is necessary to test the desktop sync client +This is a development release, installation is not recommended on production environment. It is released for the purpose of testing new features, more specifically a brand new theme with a superb UI, and sharing deeply reworked See http://pyd.io/ for more info. +Please beware of upgrading should be automatic from previous dev version (5.3.1) +Date: August, 4th 2014 License: Affero GPL Copyright: Charles du Jeu 2014 -Demo: https://demo.pyd.io/ -Date: June, 20th 2014 +Upgrade: No-upgrade available yet from stable branch, please deploy separately. In-app upgrade from previous dev branch +Contributors: c12simple, mtskar, DepaMarco, smandon, matsimon, echampet +Summary -. Keep an up-to-date index and trigger a change feed via SQL triggers : used by the sync client -. Split auth plugins into auth backends and auth frontends. Latter can be tested one by one until a credential is detected. -. Create a "Keystore" based auth frontend for simplify REST api login -. Enable routing between workspace via URL (backbone-based) -. API enhancements -. Massive refactoring of shares to store them in DB instead of data/public/ folder. -. Massive refactoring for scalability when tons of users and tons of workspace -. Italian translation +Orbit Theme: massive UX/UI rework. +Split "Welcome" page from Dashboard, accessible by clicking on Pydio logo +Massive refactoring of shares to store them in DB instead of data/public/ folder (follow-up from 5.3.1) +Uploaders: user can choose a different uploader on the fly +Diaporama: show low-res photo version +CAS Authentication: full rewrite, including ability to handle a ProxyTicket for further mounting operation +Massive italian and german translations, by DepaMarco and Matsimon +Changelog -Add image rotation using exif information -Added auth plugin for radius. -Add a small Backbone extension to enable URL routing -Add a node.index hook and use it in the meta.syncable. We should probably split index.lucene into a core component browsing recursively and the implementation using lucene. -Make sure the slug is applied at workspace creation even if from a template. -Make sure mkfile is compatible with the node signature -Higher filtering level for filename -Rewrite pattern update 'starts with' -Fix tabs re-opening / Fix 'circular JSON structure' error by filtering data before saving. -Do not remove all whitespaces, too restrictive -Activate rest for stat_hash action -Pass application Root for history manager. We should have an htaccess generation at install, as it's getting more complicated to configure. -Update htaccess comment -Create a template for htaccess, should be generated at install time -Add methods for recursive search of metadata and implement this by hooking into ShareCenter to make sure shared workspaces are synchronized to their parent and the other way. Added some performance optimizations on the way, to be extensively tested, could have some side-effects. Remove some debugging in AJXP_Cache -AJXP_Node: collect many metadata namespace at once Implement recursion in meta.watch > to be tested extensively -Make sure parent node is detected as non-leaf in notif fix #449 and fix #451 in dev branch -Add an option to fix #195 : force all emails to be sent by a unique adress -Detect Backbone before starting the router Attach mobile scroll in AjxpSimpleTabs Fix #373 Date modified sorting wrong Fix some small umbra/oxygen tweaks, especially the fact that if you turn this inadvertently you cannot go back... -Fix icon for folders in notification feed Fix some ie8 error, dashboard is still unusable. -Resplit LOG field into source, message and params - Close #483 Upgrade to be tested on PostgreSQL -Fix PowerFS charset problems -Should fix some errors with nodes parameter array when sending to background -Sanitize and decode archive name (see #480) -Add a parameter for optionally loading some JS frameworks before anything else. Leave it empty by default for the moment, to avoid letting people load backbone without knowledge. -Previous FilesList commit broke the scrolling -Revert the $plugin instance cloning, broke the REST api. Instead, make sure to reload node driver on original node after applying forward event. -Meta.exif : ignore UndefinedTag: key -WS selector: visually show that element was selected -Handle a path filter on the changes feed to synchronize only a subfolder -Add the missing German translation -Make sure to update $lastSeq if we "continue" the loop -Make sure the like $filter expression ends up with a slash, otherwise it can take files beginning with the same prefix. -Handle a path filter on the changes feed to synchronize only a subfolder (cherry picked from commit e3b580c) -Make sure to update $lastSeq if we "continue" the loop (cherry picked from commit 0ea7b2d) -Make sure the like $filter expression ends up with a slash, otherwise it can take files beginning with the same prefix. (cherry picked from commit 5f8f7a0) -Update CLA link -smb.php with Windows OS -Update README.md -Remove scrutinizer badge it's too depressing. -Create configure_php_modules.sh -Zoho Editor is broken when not using the "External Agent" -Fix key max length is 1000 bytes for mysql, plus fields length consistency -smb.php don't work with lot of files or folders if "Windows OS" -Quick integration of the analytics SQL queries. Warning, they are working on the old tables formats, to be updated. -Keep the right order -Add titles -Change cursor system / create empty values when there is no value on a given date. -Make queries compatible with both tables format (before and after update) by simply searching on message or params. -Fix hasGroupMapping test using empty() function, can lead to a false positive if an empty string. -Make sure to encode labels as UTF-8. -Bar plots and Figures. -Add some figures -Bring some life to analytics dashboard -Fix color index modulo compute -Fix HTML5 folder uploads issues, enable it for Mac -Fix SQL analytics date cursor (include last day) -Let the ajxp_user ( = dashboard ) repository always "accessible". -Update comment -Make sure to clone the original personal role before overriding. Re-apply specific "Shared" roles after clearing parent user's ACLs in case of a shared user. -Re-revert the isMac test for webkitGetAsEntry, otherwise utf8 files are skipped on MacOS. -Fix #496 : clear metadata when a shared link is expired (by date or number of downloads) -core.mailer: Make sure to add a typed email to the list of "to", if people don't explicitely click on the auto-complete list. -Admin : restrict Parameters & Actions edition when logged user is a groupAdmin (not super admin). Only parameters with a scope are allowed. -Disable old "Shared Elements" workspace by default (will be removed at one point) -Fix #418 : duplicate functions loadPublicletData & clearExpiredFiles, all moved to ShareCenter Fix events applied to various nodes : we must reset the AJXP_Controller xPath to make sure the hooks are cleaned up as well. Should be reimplemented in an event-based pattern. -Ajxp_user : reload shared files list after clearing expired / Fix list object ID -Update AJXP_Logger::debug() calls -[edito.pixlr] Fix #500, properly close editor tab after saving -Update default repositories with last features -Fix rest URI computation -Todo: implement indexNode method -Test hidden files during the filterFile() call when building Zips - Fix #532 -Use SystemTextEncoding::magicDequote insteaod of decodeSecureMagic when handling json data, it MUST be utf-8 for json_decode function - Fix #529 -Manually merge #300 : exif rotation -Manual merge of #300 exif rotation -Editor.diaporama : exif rotation changes broke ImageViewer (extending Diaporama) -Massive refactoring: generalize usage of UserSelection object instead of always parsing the $httpVars["file"] variable. Prepend base64 encoded versions for auto-detection, should be backward-compatible. -Add new carrousel-like display mode for file list : horizontalScroll and fit:content -Folder "Recycle_bin" must be Hidden with attribute "H" if Windows OS -GUI : AjxpTabulator: new option uniqueTab will always replace existing editor in tab. FilesList: call fit:content inside resizeThumbnails() function Last compile -Ability to define many templates for the minisites (name must begin with minisite_) and user can choose. Sample template is Film Strip, super simple. -Replace "Download All" icon with archive otherwise when no text Download and Download All conflict. -Fix share height -WebODF: Use ajxpServerAccessPath instead hardcoding index.php -- see result here #510 - rebuilt with branch "develop" -Attach ContentFilter to a repository - Save it as serialized option for conf.sql -Implement same filterings when listing only one or N specific nodes, instead of browsing a folder. Make shell_exec call silent on windows. -WIP: modularization of sharing features. Put the templates back in action.share instead of gui.ajax - Split the share action into many actions the will appear in the menu depending on the selection. Remove old clientForm, TODO make sure everything is working on "Umbra". -Notification list: back from 600 to 350 ;-) @ellega -Forgotten print_r in PThumb.lib.php -Fix film strip on mobile device => fix various diaporama stuff -Reproduce the "background image" of the current public link page directly as an AjxpPane option. WIP : make a "download page" template to replace public_links php file. -Don't preg_quote() and later stripslashes(), move preg_quote in the right places -Use self:: instead of AuthService:: in AuthService -Replace eval with constant in getConfInst -Move regexpToLike to AJXP_Utils -Introduce cleanRegexp() -New option in Auth to preset a login, providing a password-only protection for minisites -Reput the main templates in gui.ajax instead of action.share, otherwise they can be not found. -Make all calls to ShareCenter no more static, and split this class into a new ShareStore class, that will implement a DB-based storage (and maintain backward compat to publiclets). Add a download preProcessor to count the downloads. -Introduce likeToLike and cleanLike in AJXP_Utils -getUsersCount auth.sql: use dibi ... again -Stop restraining search by putting ^ -Download page -Minisites & publiclinks convergence, use simpleStoreGet/Set/List methods to store shares in the DB. -Fix pending login mechanism. Still somethig todo with various sessions opened. -fix Jumploader -fix ldap build group branch -json_encode object-like options when sending repository options. -Never store share meta on root node. -Massive rework of the shares storage & metadata => ability to build many links/workspace on each node, ability to move nodes without breaking (at least nodes directly shared, should be expanded to the children...), event forwarding to shared workspaces. To be tested extensively, particularly migration from old metadata format to new one. To be tested : URL shorteners. -One session per window in minisite makes it more convenient. Could be generalized to standard window. -Check if node exists when send unique file. -Do not use func()[0] for old php versions -AjxpPane image background: get defaultImage from parameter -ShareCenter: always write the RewriteRules in the htaccess. Set default images for download link. -ActionsManager / ActionsToolbar refactoring to handle a "local" datamodel. To be even more simplified if possible. Use it in RepositoryEditor to display a tab with all shares of the current edited workspace. -Change depandancy of action.cart -Conf/Auth driver : use a "ajxp.hidden" property to generally ignore all internal users created by minisites. Add powerfull methods to query repositories (directly in sql when possible). -Encapsulate new listRepositoriesWithCriteria() methods in ConfService. Use in ajxp_conf -Use new methods in action.share and access.ajxp_conf In ShareStore methods, pass userId instead of object. -Silently ignore wrong results in lucene. -Make sure the user object is not null - see previous commits. -Do not authorize ajxp_user repo by default ( = dashboard ) Disable "switch_to_dashboard_action" if repo is not allowed. -Update TPL access. Should be written at install time, along with the default charset. -Base for repository-specific authentication via a prompt dialog. Test in FTP by uncommenting the line. Could be used for the dropbox stuff. -Use html fullScreen -Fix RESTfull mkfile - too harsh sanitization clears the slashes in path -Fix minisite session detection (starts with AjaXplorer_Shared, not necessarily exactly that word) -Bug: dblclick was triggered twice on non-ie browsers -AbstractEditor last change: use className instead of class. -Update docblocks -Definitely set skipBubbling and skipCarousel to true by default - to be checked against mobile -Update ajxp_ role / plugin / repository editors. -Fix ajxp_conf layout resizing always showing some blank at the bottom, resize just after insertion. -Make sure share action does not appear in a menu -Fix minisite layouts initial loading -Create a static function to get ShareCenter instance (enabling the docblocks). Use it where possible. Start a readonly mode for ShareCenter.js -Display workspace alias, we could probably remove the unique ID -Test setting a user inside an AJXP_Node - could be used to impersonate a user instead of using logUser() -Carry on moving every actions / data concerning the shares inside the ShareCenter, out of ajxp_conf and presumabyl out of ajxp_user -Fix share actions -Clean ShareCenter -Fix passing 0 as related_object_id value to simpleStore -ShareCenter i18n / hide upload box for files. -Wrong call to list reload, triggers too much repainting -Update tags by directly setting them inside the shareData if possible, in the metadata otherwise. -Do not "enlargeToOwn" the events - check that it has no side effect -Fix share watch -Fix #538 Missing node.read in access.fs when reading unique nodes -Set up a datamodel-specific ActionsToolbar via XML. No more reference to sharing in ajxp_conf. Use datamodel-specific listings in My Shares dashboard tab and load from ShareCenter. -Last compile -Replace /node+ by /dir+ in the rest params, very strange it was probably broken. -Fix error in array_merge messing up with numeric keys. -First implementation of Auth Front End, simple impl of a keystore-based auth for the REST api. -Move get_xml_registry (and alias "state" action) in core.conf instead of gui.ajax, should not be there. -Implement RestAPI token-based authentication. Last todo is to check the nonce is never reused. Add ORDER parameter in auth frontends plugins to make sure they are called in the correct order. Introduce a specific /pydio/ path to query API for non-workspaces actions. To be documented and checked when generating workspace slugs. -ApikeyPane -Rework startup. Set Encoding and server URI via installer. Activate syncable features, rest API and backbone router by default. -Try to load dynamic file encoding.php -Create SessionLogin authentication frontend and replace core.auth actions. To be checked in all auth.* plugins Add a "PROTOCOL_TYPE" parameter to the auth frontends, to auto activate frontend for session-based or rest-based access points. -Fix startup installer -Remove share on node deletion. -Fix shared repositories listing problems -Re-adapt ftp special login screen in Auth.ftp driver -Forgot captcha Fix \ in new install web uri detection Adapt auth.multi (override login action) -MQObserver switching channels: always avoid using sendSync! -Oups unreferenced configs variable -Make sure to make the repository slugs unique - should be part of a futur upgrade script Hack shareCenter to display all actions in admin driver Sort plugins by name in actions lists -Removed all calls to ConfService::getRepository() in meta-like plugins (meta, metastore, index), as we have the RESTfull info from the passed accessDriver. Should be expanded to editors as well. -Fix Session Credentials & WebDAV Basic Auth -Print exception message when there is a stream_open error. -Meta.mount : check command result instead of re-running a second mount cmd. -beforeInitMeta has a new signature -Log invalid login attempts. -[SQL] Remove ajxp_simple_store create from mq.sql -Also log invalid login attemps via WebDAV. -Finished Italian translation for plugin 'core.ajaxplorer' and added the new one for 'access.fs' -FIX previous commit. -Added Italian translation for 'access.ajxp_conf' plugin -Make sure URI is totally URLEncoded by calling urldecode / rawurlencode to compute the correct hash. Fix pydio/pydio-sync/#26 -Italian translation -Hook node indexation to changes tracking. We should probably have a parent indexation core plugin, extended by lucene, change tracker, and elasticsearch. Make sure to exclude recycle_bin from indexation for synchro -Remove dependency of authfront.session_login to gui.ajax - we use protocol detection anyway. -Add an optional stream=true parameter to the changes request. Json data is return one per line, the result is not real json but it can be that way easily "streamed" by consuming clients. -Filehasher: publish rsync extension support through a plugin exposed parameter - document sdk methods for rest access. -Fix event sent when appending data to an existing file (must be an update instead of a create) -Transform auth.cas into an authfront plugin. Expand CAS feature -Publish repository-scope parameters in the writeRepositoriesData() function - Add such a parameter in the meta.syncable plugin, to disallow sync on given workspaces -Silently delete failing alert to avoid filling error logs -Prevent null pointer -Do not cache query result -Fix repository-exposed caching -Flatten repository-scope props differently, makes it easier to search -Fix CAS authfront plugin -Fix icon problem -Allow WS creation on read-only FS if option CREATE is not set. -Carry on fixing bottlenecks when tons of users and repositories. Avoid loading repository list if not necessary. Make sure to apply limit when loading users through autocompleter. Fix regexp (must start with ^) -Fix WebDAV enabler & password form (close #556) -Fix canSwitchTo() method - make sure to include shared workspaces -Chase Pydio in users strings - Replace by APPLICATION_TITLE, except for About ... -Sharing : move link at the top of the dialog, add all necessary paramaters. Detect legacy publiclink or not to avoid blinking -When using download_form, passing query parameters through the action attribute does not work in IE or FF. -Fix password-protected minisite behaviours -Fix minisite_session parameter management -Refix share pane size -Make sure the router always keep the / when navigating to root, otherwise requests are sent to the upper folder. -Add json possible value to the format parameter for get_my_feed request -Make sure to updateAdminRights for admin user first creation We do have to load all repositories once for editing a role -Update share panel layout, set link at the top -Fix radio button problem in Role Editor -Minisite.php layout was missing the animate-css library -Fix PLUpload chunk size +i18n: RADIUS authentication, add german, fix english (details) +i18n: Add first wizard screen in german (details) +i18n: Add german translation of config screen (details) +boot.conf: Fix erroneous labels of user display name (details) +boot.conf: Improve display name use more consistent (details) +boot.conf: Introduce tooltip for Mail address (details) +boot.conf: Connexion -> Connection (details) +boot.conf: Terminology for configuration store (details) +boot.conf: Proposed improvement on user guidance (details) +FIX: S3 driver does not handle minisite path correctly (details) +Check-in a brand new theme (details) +New theme (details) +FilesList: apply fitHeightToBottom only if option is set. (details) +Breadcrumb: pass options for different breadcrumb (details) +ActionToolbars: set the "more" button inside "get" group, not "put" Hide tree images in orbit theme (details) +Orbit theme tries (details) +Fix compilation problems (details) +Upload action now ask for the uploader type. Downloader.http moved as an uploader. Add some color in orbit theme. (details) +textLogDriver: small fix (details) +Orbit - Follow up (details) +Orbit Compilation (details) +Droppable (details) +Fix dashboard for Orbit (details) +Update language (details) +Change how layout is built in Orbit theme. Basic "group by" implementation for FilesList, applied to the notification/alert list Reload a FetchedResultPane in a discrete mode. Fix ajxpTabsCount value in AjxpTabulator Send IM to trigger user feed reloading. TODO: Still to disable the polling, not clear why it's still running. (details) +Thomas repaint (details) +Move flexTo option to AjxpPane Use an ajxp_description metadata to override other metadatas in details view Last Css update (details) +Update InfoPanel for a better "dataviz" style (details) +Wire up 'ACTIVITY' (details) +Prepare a countUsersForRepository() method to display info about workspaces (details) +Massive changes: split ajxp_user into ajxp_home ( = welcome page ) and ajxp_user ( = profile, settings, etc ) (details) +Add welcome page (details) +Hi Res photos (details) +Pass resize_events to AjxpPane Pass menuOffsetLeft/Top to UserWidget (details) +Define various opensans fontfaces (details) +4 variants of OpenSans (details) +Keep only two OpenSans variants to limit the size (details) +Add OpenSans fonts - tweak style again (details) +Work on InfoPanel > set "open" and "share" actions in the info panel (details) +Fix breadcrumb multiple refresh button Make sure not to add many observers on the clickable "home" button (details) +Rework search engine results Rework left pane scroller (details) +Rework thumbnail display (adjust to list width) (details) +Make tabulator string shorter (max 25 chars) (details) +Update standard form (details) +Standard form, admin panel, editors (details) +Update dialog boxes (details) +Update date formats (details) +Login screen - Advanced search (details) +orbit icons - by the MIT ionic iconset (details) +Workspaces Menu (details) +Wire up various details in left-pane column: alert badge, dismiss alert (using inline toolbars), drop files/folders to bookmark Fix: make sure BookmarksBar is not initialized many times. (details) +auth.ftp, fix user-facing enlish, add german translation (details) +Css (details) +Massive i18n update Make new left pane modular: pass an additional_content component config to AjxpPane Add an order parameter in uploaders to make sure they appear in the right order Replace create action by mkdir, and add link to mkfile Rework default dialog look'n'feel (details) +Disable contentEditable stuff on meta.user, not working. (details) +Fix various problems with scrolling. Make sure not to triggers many get_my_feed uploads through InfoPanel update, same for meta.comments Update the loader (details) +Rearrange user dashboard (details) +Pass through "vision" theme to converge with orbit (details) +auth.ftp: Authentification -> authentication (details) +auth.ftp: Search/replace occurences of connexion (details) +auth.ftp: Repository -> Workspace (details) +auth.ftp: Try to improve meaning (details) +auth.ftp: Reword description for the workspace ID (details) +auth.ftp: Reword the FTP login screen (yes/no) description (details) +auth.ftp: Allign english with french translation (details) +auth.ftp: Fix self-inflicted translation after peer-review (details) +auth.ftp: Add german translation for configuration parts (details) +access.ajxp_user: Translate some german strings (details) +access.ajxp_home: Getting started translated to german (details) +Orbit theme for mobile (details) +Adapt iOS i18n (details) +Adapt Action Cart for orbit theme. (details) +SSL detection correction (details) +Adding options for separate client/server websocket settings (cherry picked from commit 83467fb) (details) +Fix toolbar position to avoid blinking (details) +Switch default repository to ajxp_home (details) +SoundManager: Fix error on FF startup (details) +Fix #604: folders cannot have metadata as they are not object in S3. Use a .meta file to store metadata. (details) +GroupBy inside lists, use in the shares lists. (details) +Fix scroller_track in list mode (details) +Readapt share UIs for orbit theme (details) +JS: modal resize vertically. New EmptyNodeProvider for pages-only drivers. (details) +Migrate Videos Pane enable/variables in ajxp_home instead of ajxp_user (details) +Massive Share dialog rework (details) +sqlAuthDriver simple typo in error message AbstractConfDriver: reenable create user option if there are some regexp results but user is not in the list. (details) +Update share info panel (details) +Fix mailer and various share strings. Hide "From" field. (details) +Fix share (details) +i18n and resize tweaks (details) +Broaden the SKIP_USER_HISTORY option and make it true by default. Fix #491 (details) +Check user before updating password (details) +Update uploader.http translation (details) +Italian translation for plugin 'action.share' and FIX translation for plugin 'access.wms'. (details) +Italian translation for plugin 'action.skeleton' (details) +Italian translation for plugin 'action.timestamp' and FIX the English one (details) +Updated Italian translations ('access.ajxp_conf' and 'access.ajxp_home') (details) +Make sure to reScanChildrenPanes when using additional_content configuration. Use _registerObserver at most tomake sure observers are removed at component destruction. (details) +Do not init uploader extension if user does not have write right. (details) +Orbit icons for settings panel (details) +Ability to edit a shared user data & password from the Dashboard Fix styles in Dashboard and Settings panel Add i18n for various fields (details) +Fix FS test for "My Files" at startup (details) +Update installer style (details) +Fix alerts with shared minisites (details) +Catch nodes deletion (real or recycle_bin) and delete share. Display a message to the user. (details) +Update Credits for images & fonts (details) +Add also credit for Ionicons (details) +Actions (details) +Re-update italian file (action.share) (details) +Update Diaporama to load a low-res version of pictures, depending on screen-size. Steps are configurable in Diaporama plugin. (details) +Meta.user: new field type "creator" & "updater" automatically updated. Index.lucene : new config "Auto Wildcard" to automatically append search term with * (except if using quotes). (details) +Fix notification feed (details) +Adapt switch_language dialog to login screen (details) +Support proxy mode, enable modification login page (details) +Fix resize-chain for Tabulator in IE (details) +Forgotten image for mobile resolution (details) +Update Italian translations (details) +Italian translation for 'action.updater' plugin. (details) +Italian translation for 'auth.basic_http' plugin (details) +Italian translation for 'auth.cmsms' plugin (details) +Italian translation for 'authfront.cas' plugin (details) +Do not use strtolower, problem with non-utf8 encoding Fix css details for IE (details) +Italian translation for plugin 'auth.ftp' (details) +Italian translation for plugin 'auth.ldap' (details) +Italian translation for plugin 'auth.multi' (details) +Create ru.php (details) +Update ru.php (details) +Fix reset-password procedure and styling (details) +Add a paremeter for "updateAdminRights" behaviour, so that at very first connexion admin has all repositories accesses (details) +Update ru.php (details) +New method load_repository_info to feed the home page blocks (details) +Fix error at login page, update i18n/conf (details) +Change how recycle bin is filter, not on input but on output, otherwise restoration is not correctly detected We could use this index to compute quotas in various configurations (details) +do not set node as empty array (details) +Fix thumbnails Refresh htaccess.tpl with welcome page (details) +Missing recycle bin management in smb driver (see #520) (details) +Do not silently clean user login, throw an error instead (close #455) (details) +Remove all references to old access.ajxp_shared plugin and make it not-packaged (details) +Fix error at login page, update i18n/conf (details) +Fix error at login page, update i18n/conf (details) +In master/slave mode, if master has a fake "userExists" implementation, we may never be able to log a slave user. Add a supplementary check, but only if "Cache Users" is set to false. (details) +Update class.CAS_LoginForm.js (details) +Add ab read-mode that was preventing PLUploader to work on access.smb (details) +Typo prevented correct image url (details) +Fix jumploader on access.smb (details) +Fix PlUploader for access.ftp and similar ones (details) +Fix getCallBackURL replace // by / at the end of uri (details) +Fix #465, PLUploader chunking on FTP, S3, SMB & Dropbox (details) +Update manifest.xml (details) +Fix button round problem #613 (details) +Fix action.cart (close #595) (details) +Update Client.php (details) +Update manifest.xml (details) +Update Client.php (details) +Fix metadata and selector value, close #512 (details) +Update Client.php (details) +InfoPanel for rootNode (details) +Exif editor - open small map in infoPanel, nice! (details) +Fix callback url. Cut off .../ws-abc, /settings ... in pgtURL (details) +Fix callback url. Cut off .../ws-abc, /settings ... in pgtURL (details) +Sample code for building direct download link on shared files. We should put an API-like access inside data/public/ (details) +New parameter AUTO_APPLY_ROLE for all auth plugins, useful for multiple authentication. Role is created automatically. (details) +Css tweaks (details) +Editors action bars - replace attr.nodeValue (deprecated) by attr.value - make sure to destroy hidden menus and sliders when destroying widgets - wire resize of navigation pane to the tree expanding/collapsing. (details) +Hide "Generate Link" when clicked. (details) +Util function bufferCallback(), used in meta.quota and standard conf actions (details) +Reorg contextMenu - Fix CartManager (details) +ContextMenu css (details) +Fix #614, fix fullscreen video z-index, fix treeCopyContainer typo color, trigger correct action when dropping on "shared" block. (details) -- See core/doc/PREVIOUS_RELEASES file to learn more about previous releases. \ No newline at end of file diff --git a/core/src/core/doc/PREVIOUS_RELEASES b/core/src/core/doc/PREVIOUS_RELEASES index 2c9edbacde..9b592ce930 100644 --- a/core/src/core/doc/PREVIOUS_RELEASES +++ b/core/src/core/doc/PREVIOUS_RELEASES @@ -1,3 +1,238 @@ +Pydio 5.3.1 Release Note + +This is a development release, it should not be used in production. +This release is necessary to test the desktop sync client + +License: Affero GPL +Copyright: Charles du Jeu 2014 +Demo: https://demo.pyd.io/ +Date: June, 20th 2014 + +. Keep an up-to-date index and trigger a change feed via SQL triggers : used by the sync client +. Split auth plugins into auth backends and auth frontends. Latter can be tested one by one until a credential is detected. +. Create a "Keystore" based auth frontend for simplify REST api login +. Enable routing between workspace via URL (backbone-based) +. API enhancements +. Massive refactoring of shares to store them in DB instead of data/public/ folder. +. Massive refactoring for scalability when tons of users and tons of workspace +. Italian translation + +Add image rotation using exif information +Added auth plugin for radius. +Add a small Backbone extension to enable URL routing +Add a node.index hook and use it in the meta.syncable. We should probably split index.lucene into a core component browsing recursively and the implementation using lucene. +Make sure the slug is applied at workspace creation even if from a template. +Make sure mkfile is compatible with the node signature +Higher filtering level for filename +Rewrite pattern update 'starts with' +Fix tabs re-opening / Fix 'circular JSON structure' error by filtering data before saving. +Do not remove all whitespaces, too restrictive +Activate rest for stat_hash action +Pass application Root for history manager. We should have an htaccess generation at install, as it's getting more complicated to configure. +Update htaccess comment +Create a template for htaccess, should be generated at install time +Add methods for recursive search of metadata and implement this by hooking into ShareCenter to make sure shared workspaces are synchronized to their parent and the other way. Added some performance optimizations on the way, to be extensively tested, could have some side-effects. Remove some debugging in AJXP_Cache +AJXP_Node: collect many metadata namespace at once Implement recursion in meta.watch > to be tested extensively +Make sure parent node is detected as non-leaf in notif fix #449 and fix #451 in dev branch +Add an option to fix #195 : force all emails to be sent by a unique adress +Detect Backbone before starting the router Attach mobile scroll in AjxpSimpleTabs Fix #373 Date modified sorting wrong Fix some small umbra/oxygen tweaks, especially the fact that if you turn this inadvertently you cannot go back... +Fix icon for folders in notification feed Fix some ie8 error, dashboard is still unusable. +Resplit LOG field into source, message and params - Close #483 Upgrade to be tested on PostgreSQL +Fix PowerFS charset problems +Should fix some errors with nodes parameter array when sending to background +Sanitize and decode archive name (see #480) +Add a parameter for optionally loading some JS frameworks before anything else. Leave it empty by default for the moment, to avoid letting people load backbone without knowledge. +Previous FilesList commit broke the scrolling +Revert the $plugin instance cloning, broke the REST api. Instead, make sure to reload node driver on original node after applying forward event. +Meta.exif : ignore UndefinedTag: key +WS selector: visually show that element was selected +Handle a path filter on the changes feed to synchronize only a subfolder +Add the missing German translation +Make sure to update $lastSeq if we "continue" the loop +Make sure the like $filter expression ends up with a slash, otherwise it can take files beginning with the same prefix. +Handle a path filter on the changes feed to synchronize only a subfolder (cherry picked from commit e3b580c) +Make sure to update $lastSeq if we "continue" the loop (cherry picked from commit 0ea7b2d) +Make sure the like $filter expression ends up with a slash, otherwise it can take files beginning with the same prefix. (cherry picked from commit 5f8f7a0) +Update CLA link +smb.php with Windows OS +Update README.md +Remove scrutinizer badge it's too depressing. +Create configure_php_modules.sh +Zoho Editor is broken when not using the "External Agent" +Fix key max length is 1000 bytes for mysql, plus fields length consistency +smb.php don't work with lot of files or folders if "Windows OS" +Quick integration of the analytics SQL queries. Warning, they are working on the old tables formats, to be updated. +Keep the right order +Add titles +Change cursor system / create empty values when there is no value on a given date. +Make queries compatible with both tables format (before and after update) by simply searching on message or params. +Fix hasGroupMapping test using empty() function, can lead to a false positive if an empty string. +Make sure to encode labels as UTF-8. +Bar plots and Figures. +Add some figures +Bring some life to analytics dashboard +Fix color index modulo compute +Fix HTML5 folder uploads issues, enable it for Mac +Fix SQL analytics date cursor (include last day) +Let the ajxp_user ( = dashboard ) repository always "accessible". +Update comment +Make sure to clone the original personal role before overriding. Re-apply specific "Shared" roles after clearing parent user's ACLs in case of a shared user. +Re-revert the isMac test for webkitGetAsEntry, otherwise utf8 files are skipped on MacOS. +Fix #496 : clear metadata when a shared link is expired (by date or number of downloads) +core.mailer: Make sure to add a typed email to the list of "to", if people don't explicitely click on the auto-complete list. +Admin : restrict Parameters & Actions edition when logged user is a groupAdmin (not super admin). Only parameters with a scope are allowed. +Disable old "Shared Elements" workspace by default (will be removed at one point) +Fix #418 : duplicate functions loadPublicletData & clearExpiredFiles, all moved to ShareCenter Fix events applied to various nodes : we must reset the AJXP_Controller xPath to make sure the hooks are cleaned up as well. Should be reimplemented in an event-based pattern. +Ajxp_user : reload shared files list after clearing expired / Fix list object ID +Update AJXP_Logger::debug() calls +[edito.pixlr] Fix #500, properly close editor tab after saving +Update default repositories with last features +Fix rest URI computation +Todo: implement indexNode method +Test hidden files during the filterFile() call when building Zips - Fix #532 +Use SystemTextEncoding::magicDequote insteaod of decodeSecureMagic when handling json data, it MUST be utf-8 for json_decode function - Fix #529 +Manually merge #300 : exif rotation +Manual merge of #300 exif rotation +Editor.diaporama : exif rotation changes broke ImageViewer (extending Diaporama) +Massive refactoring: generalize usage of UserSelection object instead of always parsing the $httpVars["file"] variable. Prepend base64 encoded versions for auto-detection, should be backward-compatible. +Add new carrousel-like display mode for file list : horizontalScroll and fit:content +Folder "Recycle_bin" must be Hidden with attribute "H" if Windows OS +GUI : AjxpTabulator: new option uniqueTab will always replace existing editor in tab. FilesList: call fit:content inside resizeThumbnails() function Last compile +Ability to define many templates for the minisites (name must begin with minisite_) and user can choose. Sample template is Film Strip, super simple. +Replace "Download All" icon with archive otherwise when no text Download and Download All conflict. +Fix share height +WebODF: Use ajxpServerAccessPath instead hardcoding index.php +- see result here #510 - rebuilt with branch "develop" +Attach ContentFilter to a repository - Save it as serialized option for conf.sql +Implement same filterings when listing only one or N specific nodes, instead of browsing a folder. Make shell_exec call silent on windows. +WIP: modularization of sharing features. Put the templates back in action.share instead of gui.ajax - Split the share action into many actions the will appear in the menu depending on the selection. Remove old clientForm, TODO make sure everything is working on "Umbra". +Notification list: back from 600 to 350 ;-) @ellega +Forgotten print_r in PThumb.lib.php +Fix film strip on mobile device => fix various diaporama stuff +Reproduce the "background image" of the current public link page directly as an AjxpPane option. WIP : make a "download page" template to replace public_links php file. +Don't preg_quote() and later stripslashes(), move preg_quote in the right places +Use self:: instead of AuthService:: in AuthService +Replace eval with constant in getConfInst +Move regexpToLike to AJXP_Utils +Introduce cleanRegexp() +New option in Auth to preset a login, providing a password-only protection for minisites +Reput the main templates in gui.ajax instead of action.share, otherwise they can be not found. +Make all calls to ShareCenter no more static, and split this class into a new ShareStore class, that will implement a DB-based storage (and maintain backward compat to publiclets). Add a download preProcessor to count the downloads. +Introduce likeToLike and cleanLike in AJXP_Utils +getUsersCount auth.sql: use dibi ... again +Stop restraining search by putting ^ +Download page +Minisites & publiclinks convergence, use simpleStoreGet/Set/List methods to store shares in the DB. +Fix pending login mechanism. Still somethig todo with various sessions opened. +fix Jumploader +fix ldap build group branch +json_encode object-like options when sending repository options. +Never store share meta on root node. +Massive rework of the shares storage & metadata => ability to build many links/workspace on each node, ability to move nodes without breaking (at least nodes directly shared, should be expanded to the children...), event forwarding to shared workspaces. To be tested extensively, particularly migration from old metadata format to new one. To be tested : URL shorteners. +One session per window in minisite makes it more convenient. Could be generalized to standard window. +Check if node exists when send unique file. +Do not use func()[0] for old php versions +AjxpPane image background: get defaultImage from parameter +ShareCenter: always write the RewriteRules in the htaccess. Set default images for download link. +ActionsManager / ActionsToolbar refactoring to handle a "local" datamodel. To be even more simplified if possible. Use it in RepositoryEditor to display a tab with all shares of the current edited workspace. +Change depandancy of action.cart +Conf/Auth driver : use a "ajxp.hidden" property to generally ignore all internal users created by minisites. Add powerfull methods to query repositories (directly in sql when possible). +Encapsulate new listRepositoriesWithCriteria() methods in ConfService. Use in ajxp_conf +Use new methods in action.share and access.ajxp_conf In ShareStore methods, pass userId instead of object. +Silently ignore wrong results in lucene. +Make sure the user object is not null - see previous commits. +Do not authorize ajxp_user repo by default ( = dashboard ) Disable "switch_to_dashboard_action" if repo is not allowed. +Update TPL access. Should be written at install time, along with the default charset. +Base for repository-specific authentication via a prompt dialog. Test in FTP by uncommenting the line. Could be used for the dropbox stuff. +Use html fullScreen +Fix RESTfull mkfile - too harsh sanitization clears the slashes in path +Fix minisite session detection (starts with AjaXplorer_Shared, not necessarily exactly that word) +Bug: dblclick was triggered twice on non-ie browsers +AbstractEditor last change: use className instead of class. +Update docblocks +Definitely set skipBubbling and skipCarousel to true by default - to be checked against mobile +Update ajxp_ role / plugin / repository editors. +Fix ajxp_conf layout resizing always showing some blank at the bottom, resize just after insertion. +Make sure share action does not appear in a menu +Fix minisite layouts initial loading +Create a static function to get ShareCenter instance (enabling the docblocks). Use it where possible. Start a readonly mode for ShareCenter.js +Display workspace alias, we could probably remove the unique ID +Test setting a user inside an AJXP_Node - could be used to impersonate a user instead of using logUser() +Carry on moving every actions / data concerning the shares inside the ShareCenter, out of ajxp_conf and presumabyl out of ajxp_user +Fix share actions +Clean ShareCenter +Fix passing 0 as related_object_id value to simpleStore +ShareCenter i18n / hide upload box for files. +Wrong call to list reload, triggers too much repainting +Update tags by directly setting them inside the shareData if possible, in the metadata otherwise. +Do not "enlargeToOwn" the events - check that it has no side effect +Fix share watch +Fix #538 Missing node.read in access.fs when reading unique nodes +Set up a datamodel-specific ActionsToolbar via XML. No more reference to sharing in ajxp_conf. Use datamodel-specific listings in My Shares dashboard tab and load from ShareCenter. +Last compile +Replace /node+ by /dir+ in the rest params, very strange it was probably broken. +Fix error in array_merge messing up with numeric keys. +First implementation of Auth Front End, simple impl of a keystore-based auth for the REST api. +Move get_xml_registry (and alias "state" action) in core.conf instead of gui.ajax, should not be there. +Implement RestAPI token-based authentication. Last todo is to check the nonce is never reused. Add ORDER parameter in auth frontends plugins to make sure they are called in the correct order. Introduce a specific /pydio/ path to query API for non-workspaces actions. To be documented and checked when generating workspace slugs. +ApikeyPane +Rework startup. Set Encoding and server URI via installer. Activate syncable features, rest API and backbone router by default. +Try to load dynamic file encoding.php +Create SessionLogin authentication frontend and replace core.auth actions. To be checked in all auth.* plugins Add a "PROTOCOL_TYPE" parameter to the auth frontends, to auto activate frontend for session-based or rest-based access points. +Fix startup installer +Remove share on node deletion. +Fix shared repositories listing problems +Re-adapt ftp special login screen in Auth.ftp driver +Forgot captcha Fix \ in new install web uri detection Adapt auth.multi (override login action) +MQObserver switching channels: always avoid using sendSync! +Oups unreferenced configs variable +Make sure to make the repository slugs unique - should be part of a futur upgrade script Hack shareCenter to display all actions in admin driver Sort plugins by name in actions lists +Removed all calls to ConfService::getRepository() in meta-like plugins (meta, metastore, index), as we have the RESTfull info from the passed accessDriver. Should be expanded to editors as well. +Fix Session Credentials & WebDAV Basic Auth +Print exception message when there is a stream_open error. +Meta.mount : check command result instead of re-running a second mount cmd. +beforeInitMeta has a new signature +Log invalid login attempts. +[SQL] Remove ajxp_simple_store create from mq.sql +Also log invalid login attemps via WebDAV. +Finished Italian translation for plugin 'core.ajaxplorer' and added the new one for 'access.fs' +FIX previous commit. +Added Italian translation for 'access.ajxp_conf' plugin +Make sure URI is totally URLEncoded by calling urldecode / rawurlencode to compute the correct hash. Fix pydio/pydio-sync/#26 +Italian translation +Hook node indexation to changes tracking. We should probably have a parent indexation core plugin, extended by lucene, change tracker, and elasticsearch. Make sure to exclude recycle_bin from indexation for synchro +Remove dependency of authfront.session_login to gui.ajax - we use protocol detection anyway. +Add an optional stream=true parameter to the changes request. Json data is return one per line, the result is not real json but it can be that way easily "streamed" by consuming clients. +Filehasher: publish rsync extension support through a plugin exposed parameter - document sdk methods for rest access. +Fix event sent when appending data to an existing file (must be an update instead of a create) +Transform auth.cas into an authfront plugin. Expand CAS feature +Publish repository-scope parameters in the writeRepositoriesData() function - Add such a parameter in the meta.syncable plugin, to disallow sync on given workspaces +Silently delete failing alert to avoid filling error logs +Prevent null pointer +Do not cache query result +Fix repository-exposed caching +Flatten repository-scope props differently, makes it easier to search +Fix CAS authfront plugin +Fix icon problem +Allow WS creation on read-only FS if option CREATE is not set. +Carry on fixing bottlenecks when tons of users and repositories. Avoid loading repository list if not necessary. Make sure to apply limit when loading users through autocompleter. Fix regexp (must start with ^) +Fix WebDAV enabler & password form (close #556) +Fix canSwitchTo() method - make sure to include shared workspaces +Chase Pydio in users strings - Replace by APPLICATION_TITLE, except for About ... +Sharing : move link at the top of the dialog, add all necessary paramaters. Detect legacy publiclink or not to avoid blinking +When using download_form, passing query parameters through the action attribute does not work in IE or FF. +Fix password-protected minisite behaviours +Fix minisite_session parameter management +Refix share pane size +Make sure the router always keep the / when navigating to root, otherwise requests are sent to the upper folder. +Add json possible value to the format parameter for get_my_feed request +Make sure to updateAdminRights for admin user first creation We do have to load all repositories once for editing a role +Update share panel layout, set link at the top +Fix radio button problem in Role Editor +Minisite.php layout was missing the animate-css library +Fix PLUpload chunk size + + Pydio 5.2.3 Release Note This is a bugfix and security release, upgrade is recommended.