Pydio 5.3.1 - Development Release
Pydio 5.3.1
This release is a development release: it is not meant to be deployed in production, unless you know what you are doing. The upgrade mechanism may break some existing shared links, beware of not applying it on a prod environment.
The target is to test and validate the massive refactorings made in the trunk, including an indexation system that can track changes happening in the workspaces for better performances with the new version of the desktop sync client.
Summary
- License : Affero GPL
- Copyright : Charles du Jeu 2014
- Download : https://sourceforge.net/projects/ajaxplorer/files/pydio/dev-channel/
- Linux Packages : available in the "testing" repositories for both Deb & EL6
- Date : June, 22th 2014
- Contribute: See the "develop" branch on Github
- Upgrade from stable to dev: for MySQL based installs, can be tested at your own risk via the in-app "dev" upgrade channel. There are some manual changes to do on the .htaccess of both the root and the data/public/ folders. If not MySQL, please wait for the correct SQL update script.
Known Issues
- For the moment there is no automatic upgrade from stable branch
- PostgreSQL is not yet supported
Changelog
Important changes
- Up-to-date index and change feed of all workspaces operations: used by the new python sync client (alpha version to be released very soon).
- Split auth plugins into auth backends and auth frontends. Frontends can be checked one after another until a credential is detected (ssh-like).
- Created a "Keystore" based auth frontend for simplify REST api login
- Enable URL routing between workspaces (backbone-based)
- Many API enhancements
- Refactoring of shares to store them in DB instead of /data/public/ php files. Convergence of minisites and public links, ability to choose a layout template.
- Scalability reworked when tons of users and tons of workspace
Details
- Add image rotation using exif information (details)
- Added auth plugin for radius. (details)
- Remove last commit because wrong branch (details)
- Add a small Backbone extension to enable URL routing (details)
- 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. (details)
- Make sure the slug is applied at workspace creation even if from a template. (details)
- Make sure mkfile is compatible with the node signature (details)
- Higher filtering level for filename (details)
- Rewrite pattern update 'starts with' (details)
- Fix tabs re-opening / Fix 'circular JSON structure' error by filtering data before saving. (details)
- Do not remove all whitespaces, too restrictive (details)
- Activate rest for stat_hash action (details)
- Pass application Root for history manager. We should have an htaccess generation at install, as it's getting more complicated to configure. (details)
- Update htaccess comment (details)
- Create a template for htaccess, should be generated at install time (details)
- 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 (details)
- AJXP_Node: collect many metadata namespace at once Implement recursion in meta.watch > to be tested extensively (details)
- Make sure parent node is detected as non-leaf in notif fix #449 and fix #451 in dev branch (details)
- Add an option to fix #195 : force all emails to be sent by a unique adress (details)
- 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... (details)
- Fix icon for folders in notification feed Fix some ie8 error, dashboard is still unusable. (details)
- Resplit LOG field into source, message and params - Close #483 Upgrade to be tested on PostgreSQL (details)
- Fix PowerFS charset problems (details)
- Should fix some errors with nodes parameter array when sending to background (details)
- Sanitize and decode archive name (see #480) (details)
- 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. (details)
- Previous FilesList commit broke the scrolling (details)
- Revert the $plugin instance cloning, broke the REST api. Instead, make sure to reload node driver on original node after applying forward event. (details)
- Meta.exif : ignore UndefinedTag: key (details)
- WS selector: visually show that element was selected (details)
- Handle a path filter on the changes feed to synchronize only a subfolder (details)
- Add the missing German translation (details)
- Make sure to update $lastSeq if we "continue" the loop (details)
- Make sure the like $filter expression ends up with a slash, otherwise it can take files beginning with the same prefix. (details)
- Handle a path filter on the changes feed to synchronize only a subfolder (cherry picked from commit e3b580c) (details)
- Make sure to update $lastSeq if we "continue" the loop (cherry picked from commit 0ea7b2d) (details)
- 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) (details)
- Update CLA link (details)
- smb.php with Windows OS (details)
- Update README.md (details)
- Remove scrutinizer badge it's too depressing. (details)
- Add Docker folder (details)
- Add Docker folder (details)
- Add Docker folder (details)
- Add Docker folder (details)
- Create configure_php_modules.sh (details)
- Zoho Editor is broken when not using the "External Agent" (details)
- Fix key max length is 1000 bytes for mysql, plus fields length consistency (details)
- smb.php don't work with lot of files or folders if "Windows OS" (details)
- Quick integration of the analytics SQL queries. Warning, they are working on the old tables formats, to be updated. (details)
- Keep the right order (details)
- Add titles (details)
- Change cursor system / create empty values when there is no value on a given date. (details)
- Make queries compatible with both tables format (before and after update) by simply searching on message or params. (details)
- Fix hasGroupMapping test using empty() function, can lead to a false positive if an empty string. (details)
- Make sure to encode labels as UTF-8. (details)
- Bar plots and Figures. (details)
- Add some figures (details)
- Bring some life to analytics dashboard (details)
- Fix color index modulo compute (details)
- Fix HTML5 folder uploads issues, enable it for Mac (details)
- Fix SQL analytics date cursor (include last day) (details)
- Let the ajxp_user ( = dashboard ) repository always "accessible". (details)
- Update comment (details)
- 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. (details)
- Re-revert the isMac test for webkitGetAsEntry, otherwise utf8 files are skipped on MacOS. (details)
- Fix #496 : clear metadata when a shared link is expired (by date or number of downloads) (details)
- 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. (details)
- Admin : restrict Parameters & Actions edition when logged user is a groupAdmin (not super admin). Only parameters with a scope are allowed. (details)
- Disable old "Shared Elements" workspace by default (will be removed at one point) (details)
- 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. (details)
- Ajxp_user : reload shared files list after clearing expired / Fix list object ID (details)
- Update AJXP_Logger::debug() calls (details)
- [edito.pixlr] Fix #500, properly close editor tab after saving (details)
- Update default repositories with last features (details)
- Fix rest URI computation (details)
- Todo: implement indexNode method (details)
- Test hidden files during the filterFile() call when building Zips - Fix #532 (details)
- Use SystemTextEncoding::magicDequote insteaod of decodeSecureMagic when handling json data, it MUST be utf-8 for json_decode function - Fix #529 (details)
- Manually merge #300 : exif rotation (details)
- Manual merge of #300 exif rotation (details)
- Editor.diaporama : exif rotation changes broke ImageViewer (extending Diaporama) (details)
- 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. (details)
- Add new carrousel-like display mode for file list : horizontalScroll and fit:content (details)
- Folder "Recycle_bin" must be Hidden with attribute "H" if Windows OS (details)
- GUI : AjxpTabulator: new option uniqueTab will always replace existing editor in tab. FilesList: call fit:content inside resizeThumbnails() function Last compile (details)
- Ability to define many templates for the minisites (name must begin with minisite_) and user can choose. Sample template is Film Strip, super simple. (details)
- Replace "Download All" icon with archive otherwise when no text Download and Download All conflict. (details)
- Fix share height (details)
- WebODF: Use ajxpServerAccessPath instead hardcoding index.php (details)
- - see result here #510 - rebuilt with branch "develop" (details)
- Attach ContentFilter to a repository - Save it as serialized option for conf.sql (details)
- Implement same filterings when listing only one or N specific nodes, instead of browsing a folder. Make shell_exec call silent on windows. (details)
- 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". (details)
- Notification list: back from 600 to 350 ;-) @ellega (details)
- Forgotten print_r in PThumb.lib.php (details)
- Fix film strip on mobile device => fix various diaporama stuff (details)
- 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. (details)
- Don't preg_quote() and later stripslashes(), move preg_quote in the right places (details)
- Use self:: instead of AuthService:: in AuthService (details)
- Replace eval with constant in getConfInst (details)
- Move regexpToLike to AJXP_Utils (details)
- Introduce cleanRegexp() (details)
- New option in Auth to preset a login, providing a password-only protection for minisites (details)
- Reput the main templates in gui.ajax instead of action.share, otherwise they can be not found. (details)
- 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. (details)
- Introduce likeToLike and cleanLike in AJXP_Utils (details)
- getUsersCount auth.sql: use dibi ... again (details)
- Stop restraining search by putting ^ (details)
- Download page (details)
- Minisites & publiclinks convergence, use simpleStoreGet/Set/List methods to store shares in the DB. (details)
- Fix pending login mechanism. Still somethig todo with various sessions opened. (details)
- fix Jumploader (details)
- fix Jumploader (details)
- Revert "fix Jumploader" (details)
- fix Jumploader (details)
- fix Jumploader (details)
- Revert "fix Jumploader" (details)
- fix ldap build group branch (details)
- json_encode object-like options when sending repository options. (details)
- Never store share meta on root node. (details)
- 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. (details)
- One session per window in minisite makes it more convenient. Could be generalized to standard window. (details)
- Check if node exists when send unique file. (details)
- Do not use func()[0] for old php versions (details)
- AjxpPane image background: get defaultImage from parameter (details)
- ShareCenter: always write the RewriteRules in the htaccess. Set default images for download link. (details)
- 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. (details)
- Change depandancy of action.cart (details)
- 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). (details)
- Encapsulate new listRepositoriesWithCriteria() methods in ConfService. Use in ajxp_conf (details)
- Use new methods in action.share and access.ajxp_conf In ShareStore methods, pass userId instead of object. (details)
- Silently ignore wrong results in lucene. (details)
- Make sure the user object is not null - see previous commits. (details)
- Do not authorize ajxp_user repo by default ( = dashboard ) Disable "switch_to_dashboard_action" if repo is not allowed. (details)
- Update TPL access. Should be written at install time, along with the default charset. (details)
- Base for repository-specific authentication via a prompt dialog. Test in FTP by uncommenting the line. Could be used for the dropbox stuff. (details)
- Use html fullScreen (details)
- Fix RESTfull mkfile - too harsh sanitization clears the slashes in path (details)
- Fix minisite session detection (starts with AjaXplorer_Shared, not necessarily exactly that word) (details)
- Bug: dblclick was triggered twice on non-ie browsers (details)
- AbstractEditor last change: use className instead of class. (details)
- Update docblocks (details)
- Definitely set skipBubbling and skipCarousel to true by default - to be checked against mobile (details)
- Update ajxp_ role / plugin / repository editors. (details)
- Fix ajxp_conf layout resizing always showing some blank at the bottom, resize just after insertion. (details)
- Make sure share action does not appear in a menu (details)
- Fix minisite layouts initial loading (details)
- Create a static function to get ShareCenter instance (enabling the docblocks). Use it where possible. Start a readonly mode for ShareCenter.js (details)
- Display workspace alias, we could probably remove the unique ID (details)
- Test setting a user inside an AJXP_Node - could be used to impersonate a user instead of using logUser() (details)
- Carry on moving every actions / data concerning the shares inside the ShareCenter, out of ajxp_conf and presumabyl out of ajxp_user (details)
- Fix share actions (details)
- Clean ShareCenter (details)
- Fix passing 0 as related_object_id value to simpleStore (details)
- ShareCenter i18n / hide upload box for files. (details)
- Wrong call to list reload, triggers too much repainting (details)
- Update tags by directly setting them inside the shareData if possible, in the metadata otherwise. (details)
- Do not "enlargeToOwn" the events - check that it has no side effect (details)
- Fix share watch (details)
- Fix #538 Missing node.read in access.fs when reading unique nodes (details)
- 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. (details)
- Last compile (details)
- Replace /node+ by /dir+ in the rest params, very strange it was probably broken. (details)
- Fix error in array_merge messing up with numeric keys. (details)
- First implementation of Auth Front End, simple impl of a keystore-based auth for the REST api. (details)
- Move get_xml_registry (and alias "state" action) in core.conf instead of gui.ajax, should not be there. (details)
- 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. (details)
- ApikeyPane (details)
- Rework startup. Set Encoding and server URI via installer. Activate syncable features, rest API and backbone router by default. (details)
- Try to load dynamic file encoding.php (details)
- 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. (details)
- Fix startup installer (details)
- Remove share on node deletion. (details)
- Fix shared repositories listing problems (details)
- Re-adapt ftp special login screen in Auth.ftp driver (details)
- Forgot captcha Fix \ in new install web uri detection Adapt auth.multi (override login action) (details)
- MQObserver switching channels: always avoid using sendSync! (details)
- Oups unreferenced configs variable (details)
- 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 (details)
- 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. (details)
- Fix Session Credentials & WebDAV Basic Auth (details)
- Print exception message when there is a stream_open error. (details)
- Meta.mount : check command result instead of re-running a second mount cmd. (details)
- beforeInitMeta has a new signature (details)
- Log invalid login attempts. (details)
- [SQL] Remove ajxp_simple_store create from mq.sql (details)
- Also log invalid login attemps via WebDAV. (details)
- Finished Italian translation for plugin 'core.ajaxplorer' and added the new one for 'access.fs' (details)
- FIX previous commit. (details)
- Added Italian translation for 'access.ajxp_conf' plugin (details)
- Make sure URI is totally URLEncoded by calling urldecode / rawurlencode to compute the correct hash. Fix pydio/pydio-sync/#26 (details)
- Italian translation for 'access.ajxp_shared' plugin (details)
- Added Italian translation for plugin 'access.ajxp_user' (details)
- Italian translation for 'access.demo' plugin (details)
- Italian translation for 'access.dropbox' plugin (details)
- Italian translation for plugin 'access.ftp' (details)
- Added Italian translation for 'access.hpcloud' plugin (details)
- Italian translation for plugin 'access.imap' (details)
- Italian translation for plugin 'access.jsapi' (details)
- Italian translation for 'access.mysql' plugin (details)
- Massive refactorings to never ever load all users, all roles, or all repositories at once. Necessary for scalability. (details)
- Italian translation for plugin 'access.remote_fs' (details)
- Italian translation for 'access.s3' plugin (details)
- Italian translation for 'access.sftp' plugin (details)
- Italian translation for 'access.sftp_psl' plugin (details)
- Italian translation for 'access.smb' plugin (details)
- 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 (details)
- Remove dependency of authfront.session_login to gui.ajax - we use protocol detection anyway. (details)
- 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. (details)
- Filehasher: publish rsync extension support through a plugin exposed parameter - document sdk methods for rest access. (details)
- Fix event sent when appending data to an existing file (must be an update instead of a create) (details)
- Transform auth.cas into an authfront plugin. Expand CAS feature (details)
- Update manifest.xml (details)
- Italian translation for plugin 'access.webdav' (details)
- Italian translation for plugin 'access.wms' (details)
- Italian translation for plygin 'action.avatar' (details)
- Italian translation for plugin 'action.cart' (details)
- Publish repository-scope parameters in the writeRepositoriesData() function - Add such a parameter in the meta.syncable plugin, to disallow sync on given workspaces (details)
- Silently delete failing alert to avoid filling error logs (details)
- Prevent null pointer (details)
- Do not cache query result (details)
- Fix repository-exposed caching (details)
- Flatten repository-scope props differently, makes it easier to search (details)
- Italian translation for plugin 'action.powerfs' (details)
- Italian translation for plugin 'action.quicksend' (details)
- Italian translation for plugin 'action.scheduler' (details)
- Fix CAS authfront plugin (details)
- Fix icon problem (details)
- Allow WS creation on read-only FS if option CREATE is not set. (details)
- 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 ^) (details)
- Fix WebDAV enabler & password form (close #556) (details)
- Fix canSwitchTo() method - make sure to include shared workspaces (details)
- Chase Pydio in users strings - Replace by APPLICATION_TITLE, except for About ... (details)
- Sharing : move link at the top of the dialog, add all necessary paramaters. Detect legacy publiclink or not to avoid blinking (details)
- When using download_form, passing query parameters through the action attribute does not work in IE or FF. (details)
- Fix password-protected minisite behaviours (details)
- Fix minisite_session parameter management (details)
- Refix share pane size (details)
- Make sure the router always keep the / when navigating to root, otherwise requests are sent to the upper folder. (details)
- Add json possible value to the format parameter for get_my_feed request (details)
- Make sure to updateAdminRights for admin user first creation We do have to load all repositories once for editing a role (details)
- Update share panel layout, set link at the top (details)
- Fix radio button problem in Role Editor (details)
- Minisite.php layout was missing the animate-css library (details)
- Fix PLUpload chunk size (details)
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.