Pydio 6.2.0 - Performance & bug fixes

Created on 2015/11/11
Component: 
License: 
Release Type: 

 

Pydio 6.2.0 brings massive performance improvements, many bug fixes from previous versions, and a couple of new features:

  • Performance: we gained an average 5 times in performance on each request. Using optional in-memory KeyValue Caching adds a tremendous improvement for Rest calls (sync).
  • Tar gz / bz2 support: creation and extraction of archives
  • Web UI: Better mobile support. Under the hood, we started migrating our whole JS platform from legacy libraries to Ecma Script 6. We now use Grunt tasks to compile/minify the JS
  • Packaging: Overhaul of our Linux packages from ground up, splitting plugins into separate packages, with packaging best-practices in mind.
  • PHP7-Ready: we eliminated language issues that could compatibility problems with PHP7.
  • And many, many bug fixed on all parts of the application, see Changelog below.

Contributors: cdujeu, svetlemodry, rimckenney, c12simple, Isma91, leobouilloux, huzergackl, DepaMarco, ecappa, sespivak, Uggy, sim1st, Cyril S. Thanks to all for making this happen!

Important Note on Linux Packages: we are currently in the process of entirely reworking our linux packages, to stick to the OSS packaging best-practices. Our repositories are very temporarily out-of-sync and the 6.2.0 is not yet ready there. It's a matter of days, please stay tuned!

Upgrade notes: must read!

  • This new version now requires a php version greater or equal to 5.4. We also dropped support for IE7. Yes we did. Make sure that you meet these requirements before upgrading.
  • If you are using the meta.mount plugin, we removed entirely the "sudo" options for security reasons. If you were relying on that, you will have to hack-it-yourself. 
  • The "serial" plugins (auth.serial / conf.serial) are being deprecated! If you are using a No-DB setup, which was already not recommended for production, please just DO NOT UPGRADE.
  • The ROOT_ROLE was replaced by a "Root Group" role concept: a role corresponding to the root of all groups, and as such applied automatically to every users. 

TROUBLESHOOTING

  • After in-app upgrade, you may some red errors appear in the interface: most of the time they should be fixed by clearing your session after upgrade (clear the browser cookies) and login in back again. 
     
  • During our performance session, we identified that enabling unnecessary plugins could have a small overhead. Many plugins are now disabled by default in this version. For this reason, you may have errors because a plugin you are using (either for auth, for workspaces, etc...) has been disbled.
    • If you are still able to access the Settings panel, just browse the plugins list to re-enable them.
    • If you are locked out, you may look for the plugins/the_plugin_name/manifest.xml and change enabled="false" to enabled="true". Then clear the plugins cache data/cache/plugins_*.* and data/cache/i18n/*.ser.


For Linux please read wait for another couple of days.

Detailed Changelog

Server Core & Plugins

Worth checking

  • [Core] Replaced ROOT_ROLE concept by AJXP_GRP_/ : applied to the root of the groups. Add support for groups reordering. Fix an old bug where a role could be ordered before the group tree. (details)
  • [Core] Massive refactoring introducing a MetaWrapper to avoid encapsulate all nodes url in the pydio:// form. Wrappers specifics (getRealFSReference, getLastRealSize, isRemote, etc...) have been encapsulated as well and should not be called directly anymore. The MetaWrapper can register many subwrappers, once they are all used it will then translate the url to ajxp.XX SchemeTranslatorWrapper is an extendable wrapper simply translating URL to the next available wrapper from the MetaWrapper. Maybe could be simplified. (details)
  • [core.phpmailer-lite] Add a MAIL_ENCODING parameter in the phpmailer plugin to eventually switch to 7bit for old Exchange+Outlook configs. (details)
  • [editor.imagick] Fix preview with unoconv of files with russian names (details)
  • [action.compression] New compression plugin to support TAR, TAR.GZ and TAR.BZ2 archive format (details)
  • [editor.pixlr] Fix "Pixlr" plugin because they switch to "https" (details)
  • [index.lucene] Fix lucene indexation when copying files accross workspaces. (details)
  • [access.smb] Fix smbclient error if filename contents '#' (details)
  • [meta.mount] Although not active by default and properly documented, we remove the sudo option, it's giving too much power to the server. See discussion in #972 (details)

 

  • Fix group listing for shared users when inside a group (details)
  • Break is unreachable code. (details)
  • index.php test SDK: remove webcomponent reference (details)
  • Reload_registry message: make sure to trigger only if required. This can end up in a loop. (details)
  • Fixed minor layout problems in share dialog: * space for labels in editable_users_header was too small * editable_users_header was moved to left because of the toggle arrow (details)
  • Manifests: make sure to replace keywords not only on label. (details)
  • Detect Pydio native apps by user-agent. New function renderSimpleListAsNodes Fix updateDefaultRights (from master) (details)
  • Use applyIncludeHook instead of applyHook otherwise it messed up registry loading. (details)
  • fseek: $whence parameter is not properly passed to underlying stream. S3 driver: override appendUploadedData() function as the streamWrapper does not support "a+" mode. (details)
  • Weird cases using ; instead of : (details)
  • Add info inside log table (details)
  • Check that class is properly created (could be ignored if php 5.3) (details)
  • Add $admin parameter to the countUsersForRepository function. (details)
  • Add iconClass and description_template to drivers client_settings XML tag. (details)
  • Edit meta_sources as bulk data (details)
  • Handle remote sorting when trying to guess the page position. (details)
  • Sync ldap group membership, filter groups from group DN (details)
  • Documentation authfront.cas (details)
  • Send PLUGINS_SCOPE to roles and users as well. Add new filters user / repository_id to the sql log queries. (details)
  • Fix plugins values instance_name missing parameter. (details)
  • Reorganize ldap parameters (details)
  • Remove template workspace from the list (details)
  • Send query metadata (details)
  • Parameters grouping and defaults (details)
  • Force string comparison for md5 checks (not used most of the cases) Exclude other tags from xss detection (details)
  • Fix issues in git-log when spaces in folder path. (details)
  • Update pdfjs to last version - Close #939 (details)
  • Set the disclaimer validation in a group (details)
  • Save the roles ordering (details)
  • Update default_avatar image Use no_templates & templates_only attributes to identify the scope (details)
  • New unit tests (details)
  • Fix #952 better logging Fix issue creating a group with same id is not checked Fix #937 Check that file is readable otherwise we cannot compute md5 on it. (details)
  • Fix issue with .zip.zip extension #953 (details)
  • Fix slug issue - Close #938 (details)
  • Better way to detect mount status (details)
  • Fix 5.4 syntax Remove creation of .ajxp_mount as it's not need since previous commit. (details)
  • Fix Meta.user error after refactoring (details)
  • Add Test Unit on Permission Mask (details)
  • Change permission value (details)
  • Delete function mergetree2 (details)
  • Fix available permission restriction (details)
  • Add more assertions (details)
  • permission (details)
  • Implements JsonSerializable() : warning this is PHP5.4 ONLY! Fix setDeny() (details)
  • Fix overrideMethod Init from array with "read", "write", .. object. Implements JsonSerializable, php5.4 ONLY. (details)
  • Store masks in roles. (details)
  • Manage masks (details)
  • Do not load a repository that has a parentId pointing to a non-existing repo. Log an error instead. Do not store reference to this->parentTemplateObject, it can end up storing a null reference in the $_SESSION array. (details)
  • Fix recursive listing broken by defaultOrderField mechanism. (details)
  • Fix SchemeTranslatorWrapper. Store url instead of path when reading dir. (details)
  • Fix PermissionMask & checks (details)
  • Invoke is_readable() at some places to dynamically compute permissions (details)
  • New method appendMetaWrapper (details)
  • rmdir was broken due to wrapper (details)
  • Fix max overriding order issue Send repo security scope to UI. (details)
  • Fix typo in write2 function that was preventing correct Log In logging for WebUI. (details)
  • Allow editing permission mask for non-editable workspace Tweak how we display Root Group role When editing a group, compute a "Parent Role" based on the parent groups (details)
  • Root group role: do not show "ROLE_..." parameters, even if they have scope "Role". (details)
  • Call isWriteable() on the root node as well, to send correct ajxp_readonly value. (details)
  • fix smb streamwrapper name conflict (details)
  • Implement Serializable on permission mask. (details)
  • Remove the method call from the foreach() loop. (details)
  • Add many is_readable() checks wherever we send data. Add the logged user id as target for reload_bookmarks and reload_shared_elements messages, otherwise they trigger reload on other users MsObserver: ignore refresh if no repoId change. NotificationLoader: fix comma typo (details)
  • Pass optional nodePathes on instant message to be later on filtered in channel. (details)
  • Filter Changes, Feed and fork mask on shared folders. (details)
  • !!TODO: Update PG & SQLITE tables and drivers. Add last_updated flag on ROLES, allowing the detection to reload a user repositories list inside a running session. Use AuthService::$bufferedMessage to attach an instant message to be sent once the mq plugin is initialized. (details)
  • Commit bootstrap_context with KVCACHE_IGNORE by default. (details)
  • Ignore kv cache (details)
  • Refactorize method(s) loadDriverRepository() (details)
  • Send back the updated role to make sure the update() was working. (details)
  • Update restParameters and use UserSelection instead of 'file' variable in ShareCenter. (details)
  • Imap wrapper: fix stat to make sure it responds correctly to the is_readable test. (details)
  • EmlViewer: remove unnecessary autoload (details)
  • Fix parseUrl() to detect pydio:// instead of ajxp.xx:// (details)
  • Point to new MetaStreamWrapper Fix mobile flex issues (details)
  • Fix is_readable() call to root. (details)
  • Change check frequencies to 5s, replace "[]" to "array()" to avoid any problems later (details)
  • Replace the ["extension"] to "PATHINFO_EXTENSION" and change the progress number to whole number (details)
  • AJXP_KEY_VALUE_CACHE (details)
  • Disable kvcaching by default. (details)
  • Add meta watcher by default in access fs (details)
  • Fix wrong shares list for workspace with id 0 : do not use empty(). (details)
  • Fix tests syntax: use __construct(), remove strange semi-colomn after class creation. (details)
  • Use __construct instead of AbstractTest constructor (details)
  • Use __construct instead of AbstractTest constructor (details)
  • Add dirname and filename in log table to be able to filter on these. Pass a "files" array to the log method when possible. (details)
  • Publish permission mask as json. (details)
  • Inform that a workspace does have a permission mask. (details)
  • Code Inspection (details)
  • Update README.md (details)
  • Error when removing user from share if the workspace does not have meta.watch. (details)
  • Pass isHidden to createUser function and send to the hook as well. (details)
  • PhpDocs (details)
  • Revert specificy parameter type as it creates false negative documentation bug. (details)
  • rootGroup can be empty (details)
  • Update sql scripts for pg and sqlite, and build script to make sure to include them correctly. (details)
  • Fix with pgsql file (details)
  • pg and sqlite sql updates (details)
  • Fix postgre issues with new fields / indexes. (details)
  • Fix mergeNodes: use cloneNode() to avoid reference mess up. (details)
  • Tar/gz/bz2 Support : refactor compress action into compress (server) and compress_ui (client): override the latest with the new plugin action. (details)
  • Some exception can break the search results listing. Catch it. (details)
  • RepositoryFilter is wrong in alert feed if repo is 0 (details)
  • Try to skip HTACCESS step : if AJXP_PACKAGING is not zip ( = linux packages ), or if content of the htaccess is already correct. (details)
  • Settings and welcome were switched. Put them in the right order to fit with dist .htaccess (details)
  • Chasing Strict Standard issues (details)
  • Limit Extract action to tar, gz and bz2 files (details)
  • Fix #931 (details)
  • Fix EXIF extractor output for XML, and add a format parameter to ask for JSON instead. (details)
  • Go through unnecessary todos. (details)
  • Add more check on user before modifying a share. (details)
  • Fix setting/unsetting watch on shared folder. Fix notification grouping in alert feed. (details)
  • Avoid error trying to load binary without any user logged - See #946 (details)
  • Make sure to filter search results with access driver configurations. (details)
  • Make sure to pass a variable as reference (details)
  • Fix wrong date in search results (details)
  • Change : Now we catch error by sending them to the progress file (details)
  • Fix FoldersTree config for smb driver (details)
  • Fix branding styling on legacy links. (details)
  • Plugin doc of action.compression (details)
  • Save share after updating watch status for folder sharing (details)
  • Append optional bootstrap instructions by scanning once (and caching result) the plugins folders looking for bootstrap.php files. (details)
  • Catching some error in the extract part (details)
  • Same as previous but for defining / overriding default repositories (details)
  • Silently try to write the two new cache files, to avoid errors if data folder is not yet writeable (first screen). (details)
  • Whitespace breaks git log : do not use --follow option in that case (will not follow renaming). (details)
  • Check $ctxId is not 0 (considered empty) (details)
  • Clean Code Deprecated Constructors (details)
  • Make sure to not throw errors if data/ is not writeable, or it breaks the starting script. (details)
  • Wrong test for write permission (details)
  • Do not display RootGroup for groupAdmins (details)
  • Update : the message to display the progress of the exraction is compression.13 not compression.12 (details)
  • Fix special characters in file name # (details)
  • Detect El Capitan (details)
  • Fix imagick generate office files (details)
  • Fix call to filterNodeName(): pass an "" parameter will trigger the is_file() test. (details)
  • Fix Favicon for WebDAV, was still using the old one. (details)
  • Recapitalize result keys for PostgreSQL (details)
  • Display a small how-to when upgrade is not possible in-app (because of linux packages). (details)
  • In SERVER_DEBUG mode, try to detect if a DB version is necessary, and log it both in the Pydio logs and generic error_log. (details)
  • Make sure to use a default value on mandatory group_switch field. (details)

Web UI & JS Rewrite

  • Massive refactoring of AjaXplorer class into various subclasses (Registry & PydioUI). (details)
  • Reduce global scope pollution. Fix some destroy implementations missing the cache destruction. (details)
  • Massive JS refactoring: Core is now Prototype-independant, fully ECMASCRIPT6, transpiled by Babel. Many refactoring to decouple core Model from UI. Basic tests with WebComponents. (details)
  • New resources for ES6 support. (details)
  • Track ajxpNode.getChildren() usage for new api (Map instead of Hash) (details)
  • Missing compat file (details)
  • server_message "require_registry_reload" (details)
  • More JS modules async loading to avoid loading scripts when they are not necessary (details)
  • IE 9 & 10 Tweaks. Not working on IE8 Add JS modules dependencies. (details)
  • Test file to be used with WebComponents (details)
  • IE8 Support: - TODO: For the moment, disable the protolegacy stuff (drop IE7 support)? - TODO: Add es5 shim & es5 sham. To be detected based on user agent? - Strict usage of window.console, not just console. (details)
  • Move loadActionsFromRegistry() (details)
  • Set forceReload default value (details)
  • Remove unnecessary images. Fix global variables Remove global delete calls - Normalize prototype class constructions Remove with calls (details)
  • Avoid unnecessary resources on minisite (details)
  • UserDashboard: do not load images as iframe. (details)
  • Use flexbox instead of JS height computing when possible Buffer infopanel update to avoid blinking Optimize display. Avoid multiple $$ calls, avoid updating tree node label/icon if not necessary Defer AjxpDroppables initialization during tree rendering Remove resize listener on window for Scrollbar Still todo: recheck all editors (details)
  • Split scripts into boot, core and ui. Currently boot is compiled old fashioned way, core is compressed & mangled, ui is compressed only. (details)
  • LangUtils : deepCopy/merge objects, forceJSON array to object. (details)
  • es6: fix Registry Loading (details)
  • es6: try using GET and pass a ws_id paramter to use http caching on repository (details)
  • es6: simple support for web components (details)
  • Connexion: switch all requests to post by default. Api: put support for file upload / download directly inside api, implement upload inside Connexion (details)
  • FilesList: use display flex instead of bloc if element has vertical_fit className (details)
  • Simple React component wrapper inside existing UI. (details)
  • Prefix all flexbox stuff (details)
  • User Dashboard CSS: remove home_account_pane reference (details)
  • JS Core: es6 transpiled version (details)
  • Insert bundle.js in gui_debug.html (details)
  • Add new methods to LangUtils (details)
  • Admin: make main menu builder more modular (details)
  • Handle Alias in config menus (details)
  • ShareCenter: Fix authorization checking for various share types. Make sure to register the REQUIRES_INDEXATION flag on syncable shared workspaces to trigger indexation at first changes API call. (details)
  • UserMetaManager: check metadata is not empty. (details)
  • Reload_registry message: make sure to trigger only if required. This can end up in a loop. LangUtils new method for arrayWithout() (details)
  • React Implementation of UserDashboardHome (details)
  • Adapt share action to window.actionArguments passing (details)
  • New AjxpReactComponent in _ui list (details)
  • All necessary exports (details)
  • React Implementation of UserDashboardHome (details)
  • Isolate WelcomeComponents scope (details)
  • We should get rid of sendSync() wherever possible. (details)
  • rename folder (details)
  • Remove modernizr & ajxp_utils from booter. Compile bundle into pydio.min.js (details)
  • Last compile (details)
  • Fix IE issues. (details)
  • Update package (details)
  • Fix remoteNodeProvider: empty response could end up in the node staying in _loading mode. (details)
  • Fix es6 (using Map instead of Hash) (details)
  • Optional option "iconClass" for userWidget (details)
  • Remove timer on router (details)
  • Pass driver label in workspaces list. (details)
  • Use multiple selector external module New function LangUtils.objectValues() to replace Object.values() (details)
  • Fix diagram axis redraw by pointing to a specific git repo instead of official release. To be changed when PR is merged and released. (details)
  • PrototypeJS: do not override bind method if already native version. (details)
  • Fix #955 - Clear selection on blur was breaking actions in user dashboard. (details)
  • Fix #958 - Reset Password is broken due to URL rewriting when guest user is enabled. (details)
  • Remove all touch events management, simply disable scroller replacement when on mobile context. Should fix scrolling and button issues on mobile. (details)
  • Bug video reading issue with the http range Should fix #954 (details)
  • Fix settings/leftpanel in vision theme (details)
  • Add react-dnd to resources (details)
  • Use classnames module (details)
  • Revert ajxp_home to non-react implementation Declare build and load React bundle separately, to avoid any compatibility issues with older browsers. (details)
  • Wrong call to React library (details)
  • Fix AjxpTabulator layout when using Flexbox Add Roboto fontface. (details)
  • Fix vision & umbra theme to make them barely usable. Remove oxygen. (details)
  • Missing reloadOnServerMessage on shares list (details)
  • Fix flex issues for minisites (details)
  • Never call the delete method of a Map directly, for backward IE compatibility. (details)
  • Fix splitter sizing, node insertion on descending sorting mode, remove unused variables Last booter compiler (details)
  • Fix startup.phtml : prototypejs moved. Booter: make set DB conf by default. (details)
  • Send also info about the workspaces shared with current user. Fix shares list issue - Ability for admin to list shares of a given user. (details)
  • Fix typo in JSON breaking the right info panel initial size. (details)
  • Home Dashboard: listen to repository_list_refreshed event and reload the list. (details)
  • Fix selectAll() action in GUI - was breaking the recycle bin empty action. (details)
  • Fix new Image() usage with prototype methods. (details)
  • Fix RepositorySelect (details)
  • Create wizard breadcrumb. (details)
  • Add a "wizard mode" in FormManager for installer dialog. Rewrok the whole boot.conf installer with that. (details)
  • Add optional "depends" attribute on js ressource. (details)
  • Update prototypeJS to 1.7.3 - We should remove the legacy version. (details)
  • Boot.conf generates a simple server uuid that can be used for various identifier (kvcache should use it) (details)
  • Load JSON polyfill for IE7 (details)
  • Update grid-layout Update compression to new naming (pydio.Controller instead of pydio.actionBar) (details)
  • Update manifest.xml (details)
  • Fix soundManager load : do not check for registry. (details)
  • Do no use flexbox on dialog content (details)
  • Massive clean: remove IE7 specific resources plus unused classes or archived classes. (details)
  • Fix super long workspace names: limit to 3 letters for badge, fix CSS to adjust display. (details)
  • Fix long workspace names (details)
  • Fix double share button. (details)
  • Adding Grunt task to compile core UI in gui.ajax (details)
  • Update gitignore (details)
  • Remove compiled resources. Update move dependencies at top level of gui.ajax. (details)
  • Ignore specific resources (details)
  • Updating Gruntfile.js (details)
  • Add a check if he user try to compress an empty folder to avoid some problems... (details)
  • Updating Gruntfile.js (details)
  • Update package.json (details)
  • Updating Gruntfile.js (details)
  • Move grunt to devDependencies (details)
  • Fix various details on Share Center: display "view parameters" instead of "change parameters" if panel is in readonly mode. Disable some actions if in ajxp_* workspace. (details)
  • Fix some flexbox issues in IE (details)
  • Fix IE horizontal scroller in FetchedResultPane (details)
  • Light revamping of diagnostic tool. (details)
  • Narrow-down textarea selector for submitting comment, otherwise it takes the wrong one (typically if file/folder is shared). (details)
  • Fix some notifications issues with shared users. (details)
  • Fix login dialog positioning. (details)
  • Add a small opacity animation on info panel async blocs to avoid heavy blinking. (details)
  • Replace run build by babel to avoid dependency to jsx (details)
  • Add JS compilation step to the build (details)
  • Test an upgrade with new dev version 6.1.0 (details)
  • 6.1.0 Release Note (details)
  • Typo in column name Force updating gui.ajax if any modification detected (details)
  • Fix BackgroundTaskManager initialisation, and make sure to read the node_diff message. (details)
  • Fix 404 error on "plugins" image. (details)
  • Fix message id in span (details)
  • Fix opener positioning (details)
  • Forgotten console.log (details)
  • Refactor the awful JS code for triggering download in a PydioApi.downloadSelection() method. (details)
  • Add the filename*= header for IE, based on mwehr suggestion. To be tested extensively. (details)
  • Fix js errors in comments and info panel detection. Add bootstrap.json to the list of files hidden by default. (details)
  • Revert the filename*= commit. Definitely not working on IE. (details)
  • Fix "discrete" parameter passing. Fix small Open Layer map not showing when panel is hidden. (details)
  • Refactor minsite_session and download management. (details)
  • Disable logo click is use is not authorized to switch to the associated workspace ( mostly ajxp_home ). (details)
  • Refix IE Overflow (details)
  • Fix metadata breaking json when no searchable is set. Fix #973 (details)
  • Skip updating embed_code if link is expired (error). Rewrite getFlashVersion() function (removed from Controller) in ajxp_utils. (details)
  • Add a new parameter for low-resolution background image, and trigger it if viewport width is smaller than 600px ( => mobile ) (details)
  • Overriding CSS properties in ajxp-mobile.css to improve the navigation (details)
  • Adding <script> at line 819 to fix JS not interpreted (details)
  • Set a manager on git actions (details)
  • Update of widget_sample, contributed by Ecappa (details)
  • Modularize installer functions. (details)
  • Refactor Installer (details)
  • Remove oxygen in selector. (details)
  • Reorganize some gui.ajax parameters (details)
  • Remove react-tap-event, loaded by material-ui (details)
  • Action.compression: fix name stripping on file / folder (details)

Server API's

  • Enable API for load_shared_element_data (details)
  • Re-adapt CartManager to new API (details)
  • Index.php : read tmp_repository_id variable from get or post. (details)
  • Sql Log Driver: server many queries at once. (details)
  • New parameter frequency on analytics queries (details)
  • [ajxp_conf] Add some info in the various responses. Add limit & offset parameters on recursiveSearch New method filterFormElementsFromMeta to post data in a different format that standard form parameters. Delete action: grab parameter from window.actionArguments object (details)
  • PydioApi: handle discrete setting FetchedResultPane: update jsdoc (details)
  • Reset content_filter option when saving repository (details)
  • Group fields differently (details)
  • Update client_unregister & client_consume channel actions (details)
  • Optional parameter on list repositories to get only a specific template children. Editing template: unchecking boxes is broken, make sure to remove not used options from existing repo. (details)
  • Fix share action in rest mode : share worked but metadata was not correctly updated. (details)

Performances

  • Load repositories with a unique query instead of many small queries (details)
  • Performances: store loaded repositories in session (details)
  • Performance: user queriesCache for exposed properties list (details)
  • Avoid using class_exists() in relativeDate, it's too costly for perfs. (details)
  • New interface SqlTableProvider and use it for first install Detect session handler via conf Rest.php: there should be no reason to start the session here (to recheck) (details)
  • Call session_write_close to speed up the queries processing (details)
  • Create a pool of callbacks if a file is loaded many times at the same instant, otherwise it may reload the file from cache. (details)
  • Do not disable session for the moment inside rest. We should instead set up a $useSession flag on ConfService similarly to AuthService - TODO (details)
  • Add a $useSession parameter to ConfService and use in rest.php (details)
  • Notification: optimize queries for userExists() calls (details)
  • Repository: avoid error on parentTemplateObject type (details)
  • PluginsService & Plugin Optimizations: -> Optimize requires file -> Load class only if plugin is enabled -> Lazily unserialize XML manifest -> Cache some xpath query results (details)
  • New KeyValueCache, following Doctrine/cache interface, we should embed this lib. Currently only supporting APC. Cache plugins_registry always and full xml_registry for rest case only. (details)
  • Expand clear_plugins_cache action to empty KVCache and eventually opcache as well. (details)
  • Disable many unnecessary plugins by default, avoiding to load them if not really usefull. (details)
  • Use $this->getXPath() instead of direct access to $this->xPath as the manifestXML may have to be loaded lazily. (details)
  • Disable many unnecessary plugins by default, avoiding to load them if not really usefull. (details)
  • Reduce DB query number for loading repository Log driver: get repository ID from context, avoid to trigger another db call. (details)
  • Refactor getFilteredXMLRegistry() function Refactor clearAllCaches() function (details)
  • Remove actions property from AJXP_Plugin, it's useless. (details)
  • Second call of initActivePlugins() in rest.php seems useless. Commented, to recheck. (details)
  • Properly invalidate KV cache when updating user / group / role / workspace (details)
  • Re-enable auth.serial & conf.serial for startup (details)
  • Remove @internal phpdoc key (details)
  • Enable updateAdminRights() for the moment. TODO: we should find a way to pass through that only when required. (details)
  • Add constant to ignore KVCache (details)
  • New function usersLastConnection on sqlLogger. New sub_action users_bulk_update_roles to avoid multiple query (details)
  • Add indexes on log table (details)
  • Auto-switch graph frequency to avoid super-heavy graphs. (details)
  • Revert the second call to initActivePlugins() in rest.php, as it can break some additional plugins loading after loading driver. (details)
  • writeRepositoriesData: remove unnecessary code Definitely skip the admin rights check, just give the access to ajxp_conf (details)
  • Remove skip_admin_rights parameter (details)

Translations

  • Improved german translations of sharing function and added missing keys to all files (details)
  • modified: ca.php modified: cs.php modified: da.php modified: de.php modified: en.php modified: es.php modified: et.php modified: eus.php modified: fi.php modified: gr.php modified: he.php modified: hu.php modified: it.php modified: ja.php modified: kr.php modified: nl.php modified: no.php modified: pl.php modified: pt-br.php modified: pt.php modified: ru.php modified: si.php modified: sv.php modified: tr.php modified: zh-tw.php modified: zh.php (details)
  • i18n update (details)
  • Update i18n messages in action.updater (details)
  • Update Italian translation for plugin 'access.ajxp_conf' (details)
  • Update Italian translation for plugin 'access.ajxp_home' (details)
  • Update Italian translation for plugin 'access.ajxp_shared' (details)
  • Update Italian translation for plugin 'access.ajxp_user' (details)
  • Italian translation for plugin 'action.antivirus' (details)
  • Update Italian translation for plugin 'action.cart' (details)
  • Italian translation for plugin 'action.compression' (details)
  • Turkish translate of the name and the description of the plugin (details)
  • Turkish translate of the different messages of the plugin (details)
  • editor.pdfjs Czech translation (details)
  • core.uploader Czech translation (details)
  • meta.simple_lock Czech translation created (details)
  • meta.git Czech translation created (details)
  • gui.user Czech translation (details)
  • action.powerfs Czech translation (details)
  • action.avatar Czech translation (details)
  • access.demo Czech translation (details)
  • Translate "Root Group" (details)
  • Fix php parsing error in hu.php. Probably fix #930 (details)
  • Fix de language file - Close #933 (details)
  • Missing translation for desktop notification button. (details)
  • Add english message to the 17th message of the plugin (details)
  • Add french message to the 17th message of the plugin (details)
  • Add english message to the 17th message of the plugin (details)
  • French typo (details)
  • missing "," character in couple of en.php files - this one is related to my previously submitted PR https://github.com/pydio/pydio-core/pull/851 (details)
  • uploader.html Czech translation updated continuing as per the previous PRs opened under https://github.com/pydio/pydio-core/pull/843 (details)
  • uploader.html cs-dropzone png picture created manually in Gimp as similar as possible to the other one's available (details)

Packaging

  • Add support for authenticated upgrade site. (details)
  • Set package name in an external variable. (details)
  • Fix encoding issue, especially on Windows: - Parameters passed via url in rest api gets mangled because of urldecode(), make sure to re-apply toUTF8() - Once decoded, we must make sure to apply the correct encoding before inserting / searching the DB. (details)
  • Add composer.json to install OpenStack SDK at last good commit before the project was declared EOL. (details)
  • Add some checks - Do not display plugins that are disabled. (details)
  • Rename test scripts from 6.1.0 to 6.2.0 Update 6.2.0.php to re-enable plugins by default to avoid issues. (details)
  • First version file (details)
  • Add a custom source_path parameter to package.json to trigger recompilation during upgrade process. (details)
  • Trigger grunt only if needed. (details)
  • Fix package.json (details)
  • fix new build task (details)
  • fix typo in force-update task (details)
  • Clean XML build file. (details)
  • Define custom tasks in AdHoc instead of separate php files to install. (details)
  • Remove task (details)
  • Clean phing folder (details)
  • Optionnaly use local key instead of password. (details)
  • Use scp.plugins_dir instead of scp.dir/plugins (details)
Display Share Block: 

Need to Balance Ease-of-Use with Security? Pydio Cells Can Help.

If your organization is serious about secure document sharing and collaboration you need to check out Pydio Cells. Cells was developed specifically to help enterprises balance the need to collaborate effectively with the need to keep data secure.

With robust admin controls, advanced automation capabilities, and a seamless, intuitive end-user experience Pydio is the right choice for organizations looking to balance performance and security without compromising on either. Try Cells live for yourself. Or click on the button below to talk to a Pydio document sharing specialist.