---- 7.0.4 is a bugfix and security release for 7 branch. Make sure checking db version test does not break everything (if there is a missing table for example). Fix throw error when accessing to prohibited path on smb wsp Fix EncFS and caching issues Optim: make sure clear cache is called deferred. Do not use applyHook but load session manager directly instead for performances. Mq.serial: make $channels static variable as in mq.sql Add an option to disable nodes caching Add ldap support AD memberof values in nested group Fix EncFS Make sure that unserialized object is a Notification instance Switch lite version to full version Fix webDAV upload events. Should fix #1317 and fix #1318 Replace check for bypass_pwd by check on empty $pwd variable. Should fix #1316, please confirm Test USE_SESSION_CREDENTIALS value, not just isset(). Should be the real cause of #1316 Close session on possibly long requests that may block the UI Adding local cache per instance to MemorySafe and removing time limit on nodes cache Adding interval for the Zoho Editor when in the minisite Fix #1319, enable Copy action on readonly files. Making sure we don't break previous usage Update tutorial videos. Open panel by default for the first connexion. Fix events forwarding for one-doc minisite (use ContentFilter instead of relative path re-compute). Zoho send a create event instead of a content event. Fix for s3 shares Typo error Fix #1322 by triming userId whitespaces. Missing logs when upload via pluploader. Fix #1321 Remove double urldecode, creating "+" issues in Rest API. Typo in roles manager could lead to group admin seeing unauthorized workspaces Add an optional parameter to enable links in digest email. Fix notifications when registering on a "publicly visible" share. Fix non-deleting alerts Try to make a better error reporting when exception fails because response already sent or logger fails. Fix closing of videos tutorials 7.0.3 is a bugfixes for 7.0.2. Particularly, some issues were introduced with the Session Credentials mechanism. . Build a version tar.gz with noemptydirs . Simple modif to release note for testing builds with noemptydirs . Fix test workspace in public links (repository has encoded credentials option) . Typo in hasNumericKeys detection was still breaking the numeric logins case for meta watch. . Fix multi auth with numeric logins . getWrapperClassName: make sure to exit if current registry does not have any active access plugin. . Put -moz-user-select key after the others to make sure it's taken. Was breaking Ctrl+C on recent Firefox versions. . Fix share alerts overriding one another . Fix restore . Change how RO or WO permission overwrites existing RW permission. . Call fflush in createEmptyFile to make sure FTP wrapper is working. . Should fix #1300 . Fixing admin key for the pydio booster so that a user id is always associated to it . Use TextResponse objects - Fix #1308 (plus other similar occurrences) . Fix specific urlencoding issues on webdav. . Fix specific cases in PThumb . Fix get instance ID base on plugin option and roles . Fix #1306 - moving file cross workspace . Fixing non initialized message -- Welcome to Pydio 7.0! Pydio 7 is a full overhaul of the PHP code, raising the standards, improving performances and making the platform more modular than ever. We also introduce a new separate tool called Pydio Booster, written in Go, removing php limits and easing the deployment of WebSockets. Pydio 7.0.1 Fix main upgrade issues of 7.0 -- . Fix installer form if output_buffering is not disabled . Remove check for aws.phar file in the access.s3 directory. Fix #1257 . Another "incompatible declaration" error was silently breaking s3 on PHP7. . php 5.5.9 issue, count(false) returns true, making RolesList empty. . Check php version: 5.6 is finally required for enterprise dist, because of ioncube loaders. . Fix case sensitive rename (details) Pydio 7.0.2 Bugfix release for Pydio 7 -- . Fix command line automatic comma-split, let it enabled only for -i and -r options, otherwise it can break some commands. (details) . Update current stable version (details) . Use a dedicated mbParseUrl() function instead of parse_url that may fail with utf-8 on some specific installs (inc. macos) (details) . Fix issue #1259: Zip on-the-fly option creates 0-sized empty files (apache compatibility) (details) . Users and groups deletion: use UsersService and RolesService instead of deleting directly in db to fix caching issues. (details) . Fix roles assignment when updating user groupPath (details) . JS UI: handle Prompt exception and dialog. (details) . New Middleware WorkspaceAuthRequired catches specific exception, sends JS prompt message and re-initialize request when form is submitted. (details) . changed invalid link to developer guide to v7 developer guide (details) . Reorganize MemorySafe. Add a context identifier to handle multiple credential sources. For storing when passed via ENV CLi. (details) . Tplus / Tminus were moved to subfolder. Fix #1255 (details) . Change docs editors orders. Fix #1264 (details) . Fix ChainCache declaring PatternClearable although subacaches may not have this feature. Fix #1265 (details) . Make sure to save repoId in session when loading minisite, can make some issues if shared user have other workspaces accesses. (details) . Sets a default provider for TaskService otherwise top-level errors of command line are not visible to task status. (details) . Fix slug issues - Fix #1273 (details) . Prevent enabling cache at install if apc/apcu is not enabled. Should fix #1261 (details) . Make sure to recompute readonly flag if current context has a permission mask, by using node.info.nocache hook. (details) . Change icon for dwg files, use cube. Fix #1230 (details) . Do not post "change" notifications or alerts when just copying a file to another workspace. Fix #1274 (details) . Silently ignore register channel on non-readable repository. Avoid sending events on write-only repositories, see #1256 (details) . Dav impl childExists function is highly inefficient, replace by a simple call to is_file on childnode. (details) . And WorkspaceAuthRequired instead of simple exception (details) . Fix meta.git download/preview. Fix #1275 (details). . . Fix Shared Files download, the associated method is no more switchAction but downloadAction. Fix #1276 (details) . Use file_exists instead of is_file (details) . CLI and task_id passed : make sure to update status by default, for actions that do not implement specific tasks management. Otherwise scheduler will show "Starting action.... " and nothing more. (details) . Missing context in cleanUserShares() could create an error on user deletion. Close #1279 (details) . Fix mbParseUrl if preg_replace returns null. (details) . Catch deleteById() exceptions in ElasticSearch (details) . Remote download was broken. Fix #1281 (details) . Auth.multi : when looking for shared users only, skip master driver. Auth.ldap : fix users count caching per baseGroup. (details) . Fix CSS on share dialog title. (details) . Add user if not in indexed URL. (details) . Meta.git: make sure to apply node.change after revert operation. (details) . Fix counting user on ldap (details) . Missing curly brace (details) . Fix Imap & EML plugins - Warning php7 requires Mail_mimeDecode 1.5.6 - Fix #1282 (details) . Fix #1288 (details) . Rewire ALLOWED_EXTENSIONS configs - Fix #1283 (details) . Fix SMB access driver and custom smbclient path. Close #1290 (details) . Fix zip operation when child drivers are remote (inc. smb) - Fix #1287 Fix base detection for archive (details) . Auth.ldap: add starttsl support. See #1248, should fix it. (details) . Manual merge of #1292 (put encoding call directly inside win-dedicated function. (details) . Update trigger as mysql automatically pads varchars when comparing, creating a content instead of path in some case (trailing spaces). See #1253 (details) . i18n new prompt exception mechanism (details) . RolesManager loading role data : Make sure to remove invalid repos on error from shared repositories list. (details) . Initiate release note and dist resources for 7.0.2 (details) . 7.0.2 : rename extensions.conf file. (details) . Fixing webdav dir php7, caching and guzzle version compat issue (details) . Enabling empty file creation via Guzzle (details) . Optionally convert to ASCII//TRANSLIT the search term. Close #1243 (details) . Removing double encoding to fix 1252 (details) . Fix IMAP access driver that was failing if cache was enabled. (details) . resolveAddress: check userExists before validateEmail(), otherwise a user with email-like ID will not have his real address taken into account. Close #1286 (details) . Handle Minisite + Lock case - Fix #1278 (details) . Access.smb: throw WorkspaceAuthRequired if no credentials found and anonymous connection is not allowed. (details) . Previous commit seems not necessary (details) . Finally keep the WorkspaceAuthRequired throw from Smb. Test for empty credentials when testing workspace. Modal: fix overlay not present (prevents prompt opening). (details) . Document the //TRANSLIT support in Zip Encoding field. See #1252 (details) . Fix drag'n'drop on leaf nodes (cause of possible "Empty Response" error at upload). (details) . Make sure to never call getId() on null user. (details) ************** New Features ************** [Pydio Booster] Pydio Go is a complement to Pydio that runs as a Server. It is based on GO, a performant language developed by Google. It will improve overall software performances, by delegating CPU-consuming task to this new tool. In this first version, it will handle uploads, scheduler triggers, and best of all, one-click install websocket server, which will especially improve scalability and performances by pushing events from server instead of polling all the time. Pydio Go is available for Pydio Community and Pydio Enterprise. [File Gateway improves your server security] Pydio offers a brand new SaaS-based service called FileGateway, a host proxy to send public links without disclosing your server URL. Choose your domain name (filesend.cc / yoursha.re) and your region (US / EU). Online Documents Edition By hosting your own instance of Libreoffice Online from Collabora and using our new connector, you can now edit any office documents directly online, without the need to use third-party services like Zoho. [API, Performances] - Full rewrite of Pydio API, especially regarding provisioning, following Open API standards; there is now an extensive, accurate API REST documentation. - Increased caching, especially files list, whick makes it mindblasting in terms of performances, especially for remote workspaces like S3 or FTP - Search for files or information across several storages / workspaces at the same time, and get quicker search results with the upgrade of our Elastic Search plugin - New Admin parameter to easily allow or prevent user to re-share files [Under the Hood] - Code refactoring, with PSR-7 pattern, Composer, Guzzle - New Messaging Server based on NSQ, a language originally developed by Bitly - Auto-complete command line makes it easier for Admins to look for specific actions with Pydio (thanks to @symfony) - End of some unmaintained plugins (e.g. auth.serial, conf.serial) - Internal router embeded solves deployment issues, simplifying RewriteRules at maximum - New way of storing shares that will facilitate Pydio migrations And many more... !! **************** Migration Checks **************** Appart from the Pydio core code, in-app upgrade process has modified a couple of resources. If you encountered any error, here is a list of the specific changes in this version. Database Upgraded: you can verify that the following new tables were created : ajxp_tasks, ajxp_tasks_nodes, ajxp_mq_queues .htaccess file updated : the RewriteRules are now greatly simplified. Public links are now served directly from the /public/ endpoint. For backward compatibility, the file /data/public/share.php should have been modified as well. Please verify that your links are still working correctly. /conf/bootstrap_*.php files were modified. If you have any changes, they may have been overriden. S3 plugin now embeds its own Aws SDK. Plugin configuration should have been switched to v3 automatically. **************** Full Changelog **************** Fix typo in index.elasticsearch/plugin_doc.html (details) Update Release number (details) Some adaptations for a worker model. (details) Some tests with workers / nsq (details) Remove content.php (details) Massive Refactoring for using namespaces (at last). Step 1. Use class_alias to avoid unserialization issues. Replace is_a() usage by instanceof everywhere possible to ease future refactoring. (details) Namespace refactoring => tracking import issues. (details) Remove hardcoded references to core/classes (details) Fix Tests w/ namespaces (details) Move classes to src (details) Move non-composer-managed libs to core/src/lib. Most should be removed at one point. (details) Feed.sql Postgre: index should not be declared unique. (details) Start refactoring boot scripts (index, rest, dav, etc..). Refactor upload action as preProcess/postProcess handlers need to use the new signature. (details) Remove post_processor on multi shortener (use hook instead). Delete shorten.bitly plugin (details) Move get_boot_conf action to dedicated method (psr-7 compatible). (details) Create callback-based response stream, gather all DL actions in a separate function. (details) Fix AJXP_MetaStreamWrapper scope (details) Remove full tree cache from filehasher; now integrated directly into cache server. (details) Refactor index.php and rest.php into a big $server object. Remove old preLogUser() method on authDriver interface. Remove unmaintained plugin auth.phpbb, remove auth.basic_http (replaced by authfront.http_server). (details) Use restBase parameter. Use new methods in cmd.php (details) Rewrite server to use PSR-7 concentric middleware logic. (details) Move AJXP_Node package. Create basic SerializableStream for auto-detecting format, currently using XML serialization by default. (details) Simple REST provider for CRUD-ing a resource, based on nicik/fast-route. Empty task provider. (details) Mv startup test files. (details) Encapsulate nodes listing inside a serializable object. (details) Add new interface to detect if content should be wrapped in xml or not. (details) Ignore autoload_static files for syntax check. (details) Switch to JSON if header Accept is set in request. Implement json serialization for Nodesdiff, NodesList, AJXP_Node. (details) Use call_user_func_array instead of call_user_func to pass params by reference. Use closures instead of string-based callable whenever possible to avoid namespace issues. Fix ws-server imports. Disable preProcess call in ajxp_conf (not necessary anyway). (details) Move phpunit folder (details) Throw error on LegacyPubliclet::render() function . Use the migration script instead. Enforce object class after unserialization from Notification (ignore if not AJXP_Node). (details) Add composer step to the build (details) Replace composer task by exec (details) Do not use composer until we upgrade our build machine. (details) Update TESTS_FOLDER (details) Fix call to Utils in generated share.php file. (details) Reorganize concentric middlewares. Use authfront plugins as pseudo middlewares as well. Factorize more and more index.php and rest.php - cmd.php could do the same. Encapsulate loggingResult in a serializable message. (details) Move classes inside Http\Response package (details) Start command line Refactoring using symfony/console package. (details) Wrap cmd.php with new terminology. Still todo, find a way to apply an action on all users / all repos (details) Fix runTests. Fix backward compat for XML responses (use text/xml, add XML version declaration). (details) Middlewares must not pass their params by reference, to preserver Response / Request immutability (details) Fix various cases, add new containers (exceptions, bgActionTrigger) (details) Fixes and migration of the handler requests signatures. (details) - Parse OpenAPI file for api v2 (temporary stored in doc/api2.json, TODO: split inside plugings) - Set "api" attribute on all requests (session, v2, v1, cli) - Use json_last_message if json encoding error (details) Implement File API v2 (details) Fix cacheOptions (details) Fix SabreDav (details) Cache was broken by namespaces (details) Basic SQL implementation for tasks persistence layer (details) Api updates (details) Fix APCIterator usage (details) Add some styling for task-panel and "running task" overlay icon. (details) Update core.tasks - Temporary SQL implementation not in a separate plugin. (details) New -k parameter on command line to pass a taskId that will be then transported as an attribute pydio-task-id inside the Request object. (details) Use new TaskService inside CoreIndexer. (details) css compil (details) Pass $forceRefresh parameter to the node.info.* hooks. The cache uses it to make sure to clear itself. (details) Some fixes for hard-caching & refreshing node in UI. (details) Allow closures as callbacks in PclZip (details) Fix how S3 registers its subswrapper to make it more restful, was preventing cross_copy to work. (details) Remove dependency to access.remote_fs (removed). (details) Put cross_copy as a proper action. Use TaskService to send in background. (details) Fix tmp_repository_id mechanism, was broken. (details) Use TaskService for FTP Background Upload, Zip Delegation, Indexation, (details) Update taks mysql table (details) Add pie-loader for following task progress. (details) When possible, forceNonDefer on node.change instead of manually sending a nodesDiff to msg.instant. (details) Remove auth.cmsms: Not maintained anymore (details) If background command is not available, simply rerun the Request object with correct parameters & attributes. (details) Missing GruntFile. New event response.send. Core.mq can append instruction on requests when websocket is not active. (details) Adapt Tasks & MQ for polling case (no websocket). (details) Fix MqObs fallback (details) Changes to make keystore and ws_authenticate work for Websocket (details) Do not emit response if headers were already sent. (details) Switching core mq to nsq messages (details) Use NSQ client instead of http post (details) Some user-specific node meta must not be cached, use "node.info.nocache" hook. (details) Rename AjxpMqObserver and remove references to ajaxplorer (details) NodesList: use a default parent node. UserDashboardDriver : upgrade to psr7 signature. (details) Encapsulate ReloadMessage for serialization (details) Fix NS issue (details) Many fixes (details) Set server as registerCatchAll, remove from ConfService and XMLWriter, implement SerializableResponseChunk and certain exceptions to pass them directly. (details) Use composer command (details) Missing autoload file (details) TaskController is a "SqlTableProvider" plugin. (details) Split down middlewares and servers again. (details) Add a top-level router (details) Manage shares via TopLevel router (details) Put back publicLet.inc.php for backward compat (details) Fix non-root server (details) Fix namespaces in OCS Add WebDAV methods (details) Fix base in proxy.php (details) Fix double slahs in url, not recognized by the internal router (details) Tasks : fix empty nodes (details) Fix namespace for loading **AccessTest classes. (details) Commited test value (details) Definitely set submitForm to POST by default (details) Fix selectionHasRootNode (details) Use let instead of var to avoid double declaration (details) Exclude "inbox" from crossRepositoriesCopy. (details) Make sure to deduplicate files selection Fix Command __construct call. (details) Remove check and warning for public download folder. Temporary re-add "port" check on core.mq (options will be modified) (details) Fix Captcha (details) Fix deconnexion on empty action. (details) Full namespace-ize action.share (details) Make sure data is normalized when using currentUniquePath (details) Fix various condition issues (details) Unused codes and remove die() (details) Add autoloader until we run it at build time (details) Remove some die() and exit() Remove legacy "security modified" (details) Iterate plugins for composer task (details) Add core for composer task as well (details) Restructure cache.doctrine sources to have composer automatically built. (details) Code clean, refactor download-cart action. (details) Update Exif (details) Fix SMB issue when trying to delete folder with a file named '0' in it (details) Use Request/Response objects instead of direct printing. Create dedicated Message object when necessary (details) Use Request/Response objects instead of direct printing. Create dedicated Message object when necessary (details) Use Request/Response objects instead of direct printing. Create dedicated Message object when necessary (details) Use Request/Response objects instead of direct printing. Create dedicated Message object when necessary (details) Fix html format (details) Compute a recursive size before copy/moving data and decide how to enqueue task. (details) Update worker (details) ChangeTracker: Implement a method to compute size recursively. Use tasks to trigger indexations in background. (details) Fix ShutdownScheduler: if some events are triggered defered during an already defered callback, they can be ignored. (details) Tasks management (details) AuthService: Avoid notice while getting REMOTE_ADDR (details) Apply next action using Controller::run instead of findActionAndApply (details) Remove oxygen template (details) Fix nsq calls, do not init a new client each time. (details) Extract user & repository interfaces, create Context object. (details) Init SerializableResponseStream with one or more SerializableResponseChunk(s) (details) Allow upload via tmp location (details) Reorganize PluginsService to prepare multiple registry loading. Create a searchManifestsWithCache() to cache results when no limitation to active plugins. (details) Change methods static to non-static. Remove dependency to PluginsService in Repository, by moving streamWrapper detection to AJXP_MetaStreamWrapper. Remove unnecessary calls to detectStreamWrapper() in all editors / meta plugins. (details) Clean ConfService, carry on refactoring PluginsService (details) Reverting change (details) Changing upload pre-processor to handle files already uploaded (details) Pydio 7 websocket server config and upload (details) Massive refactoring to change how plugins are loaded depending on the Context. Context should be passed around in all requests, hooks and wrappers. (details) Start removing AuthService::getLoggedUser() and ConfService::getRepository() in favor of contexts. (details) Pass a context when building/parsing registry contributions in plugins. Still todo in init/initRepository/initMeta methods (details) Docs and unused codes (details) Fix switch_repository action (details) Pass context in plugin init(), initMeta() and beforeInitMeta() methods (details) Context propagation again (details) Fix logger init (details) Re-setting admin auth for Websocket authentication (details) Re-setting admin auth for Websocket authentication (details) Hunting AuthService::getLoggedUser to replace with Context (details) Fixing broken merge (details) Fixing broken merge (details) Pass context for hooks without nodes or tasks. (details) Exeternal download refactoring with Guzzle (details) Context propagation (details) Context propagation Refactor Dav Server (OCS probably broken) (details) Finished replacing getOption by getContextOption / getSafeOption, no more usage. (details) new class FileReaderResponse (details) Remove getOption() from interface (details) Remaining getOption() calls (details) Fix isWriteable hidden call Test getContextOptions() against null, not "" (details) hidden getOption calls (details) Missing Header (details) Hunting for AuthService::getLoggedUser() usage (details) Hunting for AuthService::getLoggedUser() usage (details) Handle context in listShares() (details) move filterBaseGroup / canAssign / canAdministrate function from static AuthService to user instances functions. (details) Split AuthService and move methods to RolesService, UsersService, BruteForceHelper (details) Use Guzzle for PixlrEditor (details) Move bootSequence() to RolesService, move call to AuthMiddleware(s) and pass alert via request "flash" attribute. (details) Use guzzle for Zoho Editor (details) Split ConfService/AuthService into smaller services Stop filling fromGlobalServices, may still have some side-effects Todo: rewrite DuoAuthFrontend by extending SessionLogin frontend (?) Todo: Disclaimer probably broken, shares as well. (details) Remove switchRootDir() method (details) Fix webDAV (details) Fixes (details) Hunting down global references (details) Fixes (details) Fixes, again (details) Adding retry in case the upload server is down (details) Fix content filter (details) Clean Controller, move backgroundActions methods to CliRunner class. All hooks MUST provide at least one ContextInterface or ContextProviderInterface argument (details) Clean HTMLWriter class (details) Make sure to convert headerValue to string (details) Split AuthMiddleware into Auth and Repository middlewares (details) Code clean, unused imports, unreachable statements, etc. (details) Fix sharing and watches. (details) Fix move share meta - Fix mkdir - Fix various hooks calls (details) Get indexation fix from develop branch (details) Code style (details) Disable AuthWrapper / PathWrapper until further refactorings are applied (details) Refactor inbox driver / wrapper using context (details) Php docs, array notation, remove static findPlugin calls. (details) Readapt ElasticSearch for more recent server version (details) Fix typo's in elasticsearch plugin. Add startUpdatingMetadata / finishedUpdatingMetadata to avoid multiple calls of node.meta_change hook. Shall we introduce a deduplication of events when they are deferred? (details) Fix availableLanguages list (now moved to LocaleService) (details) Fix events when filtering by URL (details) Speed up second registry startup by cloning detectedPlugins from empty instance. (details) Encapsulate users objects loading / caching inside UsersService (details) Remove conf.serial and auth.serial (details) Fix global streams detection : avoid reloading a whole context. Make sure to clone XML doc while cloning a plugin (details) Fix various comments / types (details) Add dedicated serializers for user and repository. (details) Fix hook in plugin compression. Fix sharecenter disabled. (details) Fix columns config not being sent. Was breaking shares list. (details) XMLUtils JS : add methods tests to avoid lazy exception catching. (details) Fix some extensions issues. Move methods from Utils and ConfService to new StatHelper class. Utils should be broken down further. (details) Index.lucene : StatHelper refactoring. Order folders/files when searching by keyword. (details) SearchEngine: change "more results" messages, we may not know the exact total result count. (details) Limit ResultSet in lucene to make it faster. Refactor exposed parameters searches in a common method. (details) Fix Teams listing & filtering (details) Fix event on change error when cross-repository copy. (details) Php Docs (details) Add favicon.ico to top level router and serve the theme icon. (details) PhpDoc (details) fix i18n languages (details) Fix iFrame-based uploaders : get_template action was remove, implement custom action for each. (details) Fix sessid by parameter behaviour (update global $_COOKIE) (details) PhpDoc - use RepositoryInterface instead of Repository. (details) Fix zip creation : wrong nodesDiff sent. (details) Change keys naming for stat / node.info / list in cache to more easily empty the cache for a given workspace. (details) Replace getCoreConf() by getContextConf() with context and getGlobalConf() without. Remove unused resources. (details) Move editor php classes to dedicated namespace. (details) Fix Editor namespace (details) Refactor names and namespaces (details) Refactor names and namespaces (details) Mv Pydio\Plugins\Cache to Pydio\Cache (details) Fix EmlXmlMessage namespace (details) Changing the Stream wrappers way (details) Create Indexer namespace (details) Move again Meta and Metastore inside Access namespace, along with Indexer. (details) Move Auth and Authfront in new namespaces, respectively Auth\Driver and Auth\Frontend (details) Move Boot, Mailer, Gui and Log plugins in dedicated namespaces (details) Move Action plugins in dedicated namespaces (details) Track down all class.*.php and interface.*.php namings (details) Commit phpdoc xml file (details) Unnecessary file (details) Fix NoActiveRepository case (details) Fix groups edition (details) Rewrite DuoAuth frontend by extending SessionLogin (details) Set REPO_SYNCABLE on default repositories (details) Quick fix in parseStandardFormParameters (details) New AJXP_PARENT_OPTION:PAREMETER_NAME: variable in options. (details) Fix dav Node (details) Fix Mailer (details) Rename AJXP_Meta.. and AJXP_Scheme without AJXP_ (details) Track die() and exit() expressions (details) Split Utils into many smaller classes. (details) Small typos - missing declarations (details) Fixing caching and access to webdav and dropbox (details) Fix phpdoc lists (details) FTP : fix isWriteable call. (details) Try to remove reference to $this->accessDriver inside MetaSources (details) Do not compute size recursively for remote wrappers, directly send delete/move to task if folder or many files. (details) Do not initialize repo if plugin is not AbstractAccessDriver (details) Fix logger Debug (details) When using APC as cache driver and when in CLI context, we need to forward delete instructions to server. Group all instructions inside a unique http call at the end of the process. (details) Fix backward compatibility for nodes without user id. (details) Adding react tap event clear dependency (details) Fix stat_hash Fix static repositories filtering (use getId() instead of getUuid()) (details) Fix partial upload Append md5 to nodesDiff after upload to avoid an additional request. (details) Missing CSS for simple AutoCompleter (e.g. Tags) (details) Fix repository->getDriverInstance(), pass a context. (details) Implement a cross-workspace search form on welcome page. Can be disabled by admin. Ignore non-loading workspaces, search 5 results max per workspace. (details) Fix S3 w. sdk v2 (details) Fix RepositoryLoadException initialisation (details) Fixing the remote ocs with new webdav (details) Move aws.phar require (details) Small fixes (details) Removing php ws (details) Clean sharing authorizations - Add global Disable Sharing and Disable Resharing parameters (details) Ignore aws.phar (details) Fix various language issues: lang switching, minisite lang parameter (--fr), cached metadata with localized string (moved in node.info.nocache hook) (details) Fixing the ocs remote sharing functionality (details) Fix switch language Cancel button (fix #1170) (details) Fix Duo (details) Add ListPaginator to Tables. (details) Re-enable "Stop Sharing" in admin. Update node context accordingly with owner as user. Pass total count in $cursor reference in simpleStoreList, and implement pagination in Shares List. (details) Fix group sorting in orderRoles. (=> DEVELOP). Fix #1126 (details) Add two hooks user.before_login and user.after_login (details) Fix generated URL for plugin doc. (details) Update Disclaimer plugin, especially regarding behaviour in shared links. (details) Adding chain cache for nodes data (details) Fix homepage auto-complete : display results sooner, do not trigger indexation on non-indexed workspaces. (details) Switch cache true (details) Fix fireContextChange by passing a dataModel: fix right-click instabilities. (details) Fix empty path in node case - could create issue in metastore for root node. Activate Watch on Whole Workspace. (details) Fix COM class namespace (details) Fix caching issues with ImagickPreviewer thumbnail and full extractions, especially when using UNOCONV. (details) Fixes to upload and cache (details) Fix JS error in Disclaimer (details) Sharing: add default parameters for notifications (details) Fix isUnique() function on datamodel selection. (details) Fix context in alerts (details) The return of the "HTML Snippet" code in info panel for shared links. (details) Fix HTML Embed Code. Fix SoundManager (use CDN and basic template). Display Watch status on root folder if set by share owner. (details) Additional string (details) Rework Grid display w/ more space for thumbnails Display overlay icons in tree, that way we can enable some actions on root node (inc. watch on workspaces). (details) Fix XPathSelectNode fix test on element.selectNode (details) Refix group sorting (details) Fix plugin namespace (details) Translation PT-BR (details) minor fix (details) minor fix (details) Do not encodeURIComponent for oldSchoolMailer - Should fix #1138 (details) Implement our own accelerators (dl / up) using headers. Todo: recheck generic StreamWrapper (details) Rework CLI integration to use nice Symfony/Console features (tables, coloration). Pass pretty printing option context for json and xml format in command line. (details) Fix FSAccessDriver import class missing for recursive listing. (details) Materialize search results pane (details) Materialize search results pane (details) Font-based mimes (details) Rework Grid display w/ more space for thumbnails Display overlay icons in tree, that way we can enable some actions on root node (inc. watch on workspaces). (cherry picked from commit 9e0df5b) (cherry picked from commit 399c6f4) (details) update extensions (cherry picked from commit bdc8b8d) (details) Readapt styles for font-based mimes (cherry picked from commit a513220) (details) Css details (cherry picked from commit ada02ec) (details) Add some extensions (cherry picked from commit ad755bc) (details) css compilation (details) New plugtype strings (cherry picked from commit 951e357) (details) Implement font-based mime icons. (cherry picked from commit a46b0e5) (details) Escape quotes and parenthesis before setting backgroundImage style (cherry picked from commit 06a7b52) (details) fix FR typo (cherry picked from commit e3b4ab2) (details) Re-implement QRCode feature for shared links (cherry picked from commit af47719) (details) Add QRCode action for passing user / server name via qrcode to new mobile apps. Disabled by default. (cherry picked from commit 558aeb1) (details) More detailed info about update sites (cherry picked from commit 3e7b5a3) (details) Quick fixes for inlineEdition - Probably to be rewritten properly. (cherry picked from commit 53f1018) (details) Add pagination controllers in folders tree (when in Selector mode only) to allow copying/moving data around even if inside another page. Fix #1179 (cherry picked from commit efeb573) (details) Make sure to save before trying to send an invitation to internal users. Fix #1166 (cherry picked from commit c605731) (details) Fix infoPanel action bars initialization when in editor mode. Fix #1145 (cherry picked from commit dd09a05) (details) Update DL page for Sync Clients (cherry picked from commit c55a1d3) (details) Fix resize issues when display images fullscreen in minisite. Fix #1168 (cherry picked from commit 53612ff) (details) Fix z-index for videojs player, both in editor mode and fullscreen. Fix #1191 (cherry picked from commit 7467b73) (details) Fixing again parenthesis in background URL. (cherry picked from commit 010a77d) (details) Fix #1192 : use mysqli by default (cherry picked from commit ca3b3ba) (details) Typo in XML (cherry picked from commit 59e240c) (details) Fix thumb positioning for Imagick preview (cherry picked from commit 0678397) (details) Get editable value in FormManager. Close #1124 (cherry picked from commit db3527c) (details) QRCode for easy server connection on mobile (details) Grab back some commits from main develop branch (details) Fix wrong auth parameters display (details) Fix digest (from develop), close session when generating imagick thumb, last css compile. (details) Fix i18n conflict (details) Fix i18n conflict (details) Update i18 for ajxp_home conf messages (details) Missing composer file for action.share (vendor is commited instead). (details) Refactor core.log and log.* to output array of data instead of XML when listing logs / log dates. (details) Init NodesList with a rootPath, set parent label empty to avoid gui replacement. (details) Start refactorting access.ajxp_conf : externalize all listing inside a dedicated manager class. Return NodesList everywhere instead of XML, allowing nice output format for CLI or in JSON. (details) update setGroupPath() signature (details) Move all actions inside managers (details) Fix some actions errors post-refactoring (details) Typo in action name (details) Start implementing api v2 for admin features. CRUD Roles. (details) New /admin/people endpoint for listing users & groups. (details) Fix edit_role action (details) Fix optional path parameter (details) Api V2: implement /admin/people PATCH with specific paramName/paramValue couples depending on user or group. (details) ApiV2 : init /admin/workspaces (details) ApiV2 : always check first segment is /admin/ before testing parameters to guess current workspace. Load workspace by id, only XML supported right now. (details) ApiV2: Load workspace in json format, with optional load_fill_values parameter. (details) Api v2 endpoints for adding / editing / deleting a meta source on workspace. (details) Api2/ Delete ws, clean ws output, findByIdOrAlias everywhere (details) CLI: pass user impersonate to Task. (details) Fix OB issues (details) Update gitignore. Start refactoring Scheduler. (details) Rework core.task and action.scheduler to replace old system by new task service. (details) Add a specific status for task STATUS_TEMPLATE : do not publish events for this type of tasks. (details) Fix FormManager : dynamic selectors do not select default value correctly when list returns groups. (details) Scheduler: remove unused method. (details) Fix different mimes in a unique table, check action.selectionContext.allowedMimes (details) Update scheduler plugin (details) Typo in list_all_repositories_json action (details) Update scheduler plugin (details) New type autocomplete in forms (react only). (details) css compile (details) Force overriding conf/extensions.conf.php during upgrade, as output format changed. (details) Re-commit whole guzzle folder. (details) For this branch, for now, disable nodes agressive caching as it's not tested enough for 6.4.2. (details) For this branch, for now, disable nodes agressive caching as it's not tested enough for 6.4.2. (cherry picked from commit 32bf85d) (details) Remove unused options for customizing legacy links. (details) Fix -i impersonate parameter (details) Extend Task controller to manage tasks from admin panel. (details) Fix scheduler parameters (details) Clear broken links. Clear activity feed. (details) core.tasks: Do not create fulltext on nodes field. (details) core.tasks: Do not create key at all on nodes field. (details) New plugin access.smbicewind (details) Adding WOPI Route Handler (details) Adding WOPI Route Handler (details) Adding WOPI json declaration (details) Redis : Fix extended method signature for compatibility. Close #1200 Close #1201 (details) Update README.md (details) Fix to the pydiocaddy generation (details) Adding path to key for the caddyfile (details) Update date / Add translation strings for updater. (details) Credits only version of credits.txt (details) Handle remote upload via pytio uploader tool (details) Fix overflow-x by disabling on body/html Fix new folder insertion in tree by positioning at the right location (details) Throw error on not found remote shares (when accepting / refusing) (details) Fix login dialog messages for password-only authentication (details) Fix hooks node.share.create and node.share.update by passing the node as first argument (context provider). (details) i18n change (details) Remaining console.log (details) Fix consume_mail_queue when some resources do not exist. Handle pydio-task-id statuses. (details) Switch Prettycron to Cronstrue (first breaks safari) (details) Fix addRole when updating case. Fix #1024 (details) Fix multi auth Add many debugging logs in auth.remote, retested wp, joomla and drupal usecases. (details) Refix tree and fileslist (details) Remove driver (details) Prevent multiple search (details) Changed generation of caddyfile (details) Refactor KeystoreAuthFrontend to use core service ApiKeysService. (details) Protect request-options queries with a unique api key. (details) Fix window.opener case with public link. (details) Fix javascript error because of udevil output (details) Fix Xtree : do not reposition node if it's ajxp_recycle. (details) Adding rule for Node name (details) Add logger for booster (details) Pass context when calling run_plugin_action (details) Rework core.mq for options management, handling of "internal" ip's and ports, binary path moved from core.ajaxplorer to core.mq. NSQ parameters are still not yet taken into account. (details) Fix javascript error because of udevil output (details) Fix how we retrieve options from core.mq in JS. Fix options visibility. (details) Refix upload options (details) Readapt BoosterManager to new config file format (details) ApplicationState::detectServerURL : add parameter to skip admin config (= external url) and only use "internal" url. (details) Generate config files and trigger download (details) Move sharing templates to action.Share instead of gui.ajax, may have some side-effects, to be tested intensively. (details) Use "./pydiocaddy" to indicate it's in the same folder as pydioconf. (details) Add post_repository (details) Add post_repository (details) Reorganize mq options (details) Add mdi icon (details) Fix mailer wrongly initialized. Fix admin API key not yet created - Add button to generate/revoke on in standard dashboard. (details) Rework public links to use Middleware model. Adds support for /public/LINK/dl/FILENAME, including BasicAuth if share is pass-protected. (details) Fix legacy links vs new URI option (details) Various fixes for shares. Make WEBDAV and PUBLIC routes configurable, clear route file when clearing all caches (details) Add create folder in copy/move form. Fix #544 (details) Test not only apc but also opcache, to be validated. Fix # (details) Do not limit bootSequence to "applicationFirstRun", but let it handle its own marker (admin_counted), otherwise it does not rerun after configuring auth/conf during installer. (details) Delete admin_counted file during installer. (details) NodesList CLI table rendering error when no nodes. Disable CacheStreamLayer when in command line Change empty_recycle to a dedicated action (no more selectAll + delete). Send in background. (details) Mkdir recursive Recycle restore : recreate parent folder if it was removed before restoration. (details) Throw error when testing DB connection with empty password (details) Small rework of login form for better i18n adaptation. Fix #688 (details) Fix create_resource by detecting trailing slash to choose between file and folder. (details) Basic implementation of /user and /workspaces points for api V2 (details) Fix wrong groupPath setting (details) Api V2 : cross_repository_copy not yet implemented, throw exception. (details) Fix S3 : add to core composer, look for a fake mtime for directories. (details) Update installer: active APC caching by default. (details) Fix line height for Template Chooser. (details) Fix language list ordering (details) Fix WebODF sizing and unnecessary buttons (details) Fix OTP javascript code. (details) Enable scheduler by default, but show it's not enabled via its menu label. (details) Do not use original_path for ShareDialog label. (details) Remove notifications from GLOBAL_TYPES, add an option to disable Activity panel. (details) For admins, add a direct access to admin settings in the home page. (details) ConfDriver refactoring : missing actions for meta_source (details) Meta.user : slugify fields name to make sure it does not break edition. Fix #1158 (details) Auth.multi : merge sub-plugins registry contributions (details) Start reworking utf-8 management. (details) Move magicDequote and fromPostedFileName to InputFilter. Fix FS driver and FS test, fix Lucene indexation with new full-utf8 model. (details) Fix some php7 compats (details) Remove unncessary TextEncoding calls (details) Add IIS web.config file (details) Fixes for php7 (details) IIS web.config (details) Fix editing booleans in My Account (details) Rework OTP using locks and new parameters to enable from admin or from My Account, generate API key automatically and display QRCode for easy configuration. (details) [API]can create workspace with POST request (details) Fixing upload (details) Ability to set multiple locks on users, they will be stacked and applied one by one. (details) Fix otp_script template name (details) Add group for OTP global parameters (details) [API]check if the JSON is a good one (details) Pass error text and warningText to input fields. (details) [API]Can edit the repository (details) [API]change the JSON structure for true RESTFULL API (details) Update swagger and change repository json serialization to conform to the spec. (details) Fix info et mask keys for repo serialization. (details) [API]update the create and edit repository for the new JSON structure (details) Add composer / grunt instructions in the README (details) Fix "/" case for dest parameter in cross_repository_copy (details) Finally remove legacy TRANSMIT_CLEAR_PASS parameter. New option WEBDAV_ACTIVE_ALL to enable webdav automatically for all users. Fix "Disable WebDAV" for a given repository. (details) WEBDAV_URI now should not include the base /URI (details) Fix Download Counter reset not properly displayed (details) Rework "Download Only" template (details) Details on Download Only template (details) Fix mimefont size for shared folder (details) Fix registry XML output for backward compat with iOS application. (details) Fix Cache (details) Allow Base + Server initialisation with additional attributes (details) Pass "minisite" attribute to the request - Disable Task enqueing if it's set, as there is no TaskService and NotificationsLoaded in minisite (details) Minor fix (details) authfront.keystore translate (details) core.mailer translate (details) Fix wrong call to magicDequote (details) Use CacheService instead of Session to cache plugins parameters & actions. That way it's cleared automatically on plugin status change. (details) Forgotten debugs (details) Do not set WS_ACTIVE to true by default (details) Simplify user reset password by using routes, remove unused XML contribs. (details) Compute default path_to_root based on PUBLIC_BASEURI, that must be set anyway. (details) Refix pass change process - key was wrong. (details) Fix style of preview tiles in multiple selection (details) Pass plugin parameter to update_i18n function. (details) Fix some details on search engine: toggle RecycleBin results visibility, fix headers displayed when reloading list, fix results limit string, fix random sorting. (details) Fix topbar buttons positioning, user widget default avatar background. (details) Rework User Dashboard - Start with profile (details) My Account improvements (details) Rewrite WebDAV panel in React. Cosmetics, layouts, mimefonts. WebDAV activation: local value primes on global value. (details) ApiKeyPane layout (details) Final touch on My Account (details) Fix rolesEditor CSS scope (details) Re-adapt for Yubikey (details) update yubikey doc (details) Responsive readapt home / user dashboard (details) Responsive readapt home / user dashboard (details) clean getRealFSReference usages (details) Fix cleanExpiredLinks (details) Remove invalid todo's (details) Php Docs, Copyright, Unused Imports (details) Unused Imports (details) PHPDocs (details) Code smells and other unused imports (details) Use He library to escape html in prototype-based components. Prevent creation of empty-labelled user repository. Prevent action.compression infinite loop while trying to check if file exists. (details) Simple filtering on users autocompleter (details) Dashboard: reflect tab selection in URL (details) Move install cache files into plugins/boot.conf instead of cache/ folder to avoid bad surprise on massive cache clearing. (details) Cache htaccess is unnecessary (details) Moving install files to plugins/boot.conf requires checking if the parent folder properly exists or not. (details) Change how we load user feed in the right panel (do not send html directly) (details) Fix emergency kill (details) Refactor phpunit tests (details) Get JSPacker from composer (details) Load Securimage from Composer instead of embedding. Keep our own words list. (details) Update code header : http://pyd.io => https://pydio.com (details) Remove oxygen and umbra theme (details) Fix remaining references to vision theme. Remove specific html files for orbit theme and put them as default ones. (details) Remove unused folders under data/plugins (details) Change how we load the "he.js" lib, in core pydio instead of react exports. Rename He to he in code. (details) Change Zend Opcache detection (details) Inherited methods signatures (details) xmlEntities special chars in user_list_authorized_users action for XML parsing. Remove text ellipsis on user-badge-label for better handling of long group names. Fix gui-debug template (details) Fix gui-debug template (details) Automatically find update triggers during build process (details) Pre/post update hooks for 6.5.1 (details) Fix resources not removed during merge (details) Update .travis.yaml : remove 5.4 and 5.5 checks (details) Fix resources modified during merge (details) Fix resources not removed during merge (details) Clean gitignore, remove commited vendor/ folders. (details) unused java code (details) Update CONTRIBUTING.md (details) Copy license for subfolder to top of repository (details) Update badges (details) Skip composer and grunt if required (details) Fix Sharing on Api v1 (details) Fake change on Release Note to start testing upgrade (details) Update upgrade files (details) Update package.json files Update build : rerun composer / grunt tasks if necessary (details) Factorize add_upgrade_script (details) Fix rerun composer (details) Fix replace (details) Add a step to the build to avoid git-based false deletions. Fix upgrade steps. (details) Fix build step (details) Fix upgradeShareFile step (details) Update images & logos (details) Clean images - Simplify ActionToolbars class (remove bubbling and carousel) (details) Move xtree images (details) Rework slider, splitter and remove unused images (details) Do not load tasks if no user logged (details) Clean old js-powered progressBar (details) Remove legacy font Open Sans (details) Replace legacy gui.ajax screenshot (details) Css fixes (details) Remove unused class Carousel (details) Export FileDropZone, add FolderPicker methods. Connexion.uploadFile returns xhr for ability to abort transfer. (details) Tasks: handle local tasks - ability to click a task to open it. (details) Rework Uploader to decouple UploadStore from View, register as local task to display global progress. (details) Carry on uploading after repository switch Rework progress bar (details) Add a show/hide processed files (details) Update uploader (details) Upload task status (details) Remove log (details) Update booter (details) Missing this binding if alternative upload fails. (details) Fix upgradeShareFile step (details) Missing grunt step (details) Uploader : error / response handling, autoClose, fix clicks issues in options pane (checkbox styling) (details) Add woff2 in web.config (details) New uploaded folder do not display after upload (details) Avoid XHRUploader loading Avoid double error trigger (details) Last css compile (details) Fix TopLevelRouter dirname call on windows, breaking routes. (details) Throw exception on sanitizisation instead of silently renaming (details) Add travis on 5.5.9 (details) Php required version to 5.5.9 instead of 5.6.0 (details) Require 5.5.9 instead of 5.6.0 (details) Change minimum php version (details) Observe saving state to avoid multiple click on SAVE button. (details) Fix to the WOPI server and HTTPS for the uploader (details) Simplify S3 as we embed the sdk, no need to handle v2 / v3 case anymore, VHOST_UNSUPPORTED not required either. (details) Change cache invalidation method, by timestamping cached data and checking a given key against other data stamps. To be tested extensively. (details) Share info panel : fix copy bytton style. Share: avoid using null repoId. Server catchError: do not use error code as request status ! (details) Manual merge of PR 1202 - Close #1202 (details) Exception namespace (details) Add check hook on pluploader. Manual merge and close #957 (details) Fix Connexion class: commited ES6 in ES5 context. (details) Remove css compilation from jspack (details) Ignore compiled css (details) Ability to have the token and hash in the jwt wopi token (details) Contents auth_hash fix (details) POST instead of PUT (details) Fix sanitizing password by installer (details) Uploaded file (details) Fix ldap UserID contents umlauts (details) Move session stuffs in SessionService, start removing $_SESSION usage (still todo), remove the $useSession static vars from AuthService/ConfService, make this simpler. Now ApplicationState is the reference for detecting current "sapi" type (rest / session / cli). (details) Fix ldap UserID with spec chars breaks ldapsearch (details) Replace wrapperCalssName by getRealFile() (details) Encapsulate 'safe credentials' and 'secure_tokens' in SessionService calls with dedicated keys. (details) Fix ftp password contents slash / (details) Put back allz_list.txt, otherwise it breaks js debug mode. (details) Fix multi-downloader style (details) Embed CURRENT_MINISITE session key in ApplicationState, save / load in middlewares. Update DL links for public links (details) SessionService and constant keys (details) Password-protected minisites where broken! (details) Fix autofilled slug value as negative number (details) Fix LDAP Numeric id (details) Fix remotehttpDeletion for cache CLI. (details) Fix radar icon in tree (details) Centralized all calls to mcrypt to prepare migration (details) Fix to WOPI upload content length size (details) Fix to https://github.com/pydio/internal-tracker/issues/108 : webdav upload for remote share never had write permissions (details) Fix cas default mode: client (details) Change put_content api: throw exceptions instead of plain-text error codes. Add method in JS api, and update editors using this method. Fix modal positioning when "messageBoxReference" is not visible or dimension 0, find visible parent, update css transition it's too slow. (details) Typo error (details) Remove codepress, never used anymore. (details) Upgrade scripts https://github.com/pydio/internal-tracker/issues/83 (details) Refix detectServerUrl() in REST case. (details) Move ApplicationState from Utils to Services package. (details) ShareCenter hooks to workspace.after_delete to clean existing shares. (details) Change ApplicationState package (details) Remove built version (details) Make sure to ignore file (details) Fix some broken shares scenariis - Fix react component not correctly destroyed in InfoPanel (details) Pass a react element to LabelWithTip (details) Touch release note - Start testing 6.5.2 upgrades. (details) Update meta.simple_lock code (details) MQ: important change: do not use the node->user as notification targetId, as it is now always set, and thus breaks the cross-users messaging. (details) Fix global_toolbar for safari Fix empty_recycle: call parseXmlMessage (details) Slowly decrease polling frequency when tasklist is empty (details) Fix to https://github.com/pydio/internal-tracker/issues/126 - fixing group by in only_full_group_by mode (details) Get the admin go pro panel from before merge. (details) Recommit improvement of role sync. (details) Add phpseclib for pure-php implementation of legacy mcrypt-ed data. We have to switch to another block size for future. (details) Re-setting meta.syncable trigger (details) Set a correct message when enqueuing tasks in background. Remove legacy JS code for managing background tasks client-side. (details) Alias /parameters/core to /parameters/core.ajaxplorer (details) Should fix encoding issue with PowerFS (details) Encapsulate Crypto calls, add header to detect if it's a legacy or new encryption. (details) Fix share.php rewrite, remove blank line at the beginning of the file (details) UploaderModel has dependency to PydioTasks, add task-panel to minisite templates for uploader. (details) Use fixed salt for key (details) Try fixing encoding issues on powerFS. (details) Set IV when encrypting with CBC mode (details) Fix 6.5.1 => 6.5.2 update: do not perform checks as the code is different. (details) Auto-open / don't auto-close uploader if there were errors during transfer (details) Fix template_children parameter (details) Add a documentation for pdfjs sidebar auto-opening. See #895 (details) Fix #1214 - Manually refresh the cache, as the timestamp for user and for roles are updated at the same moment. (details) Fix #1212 (details) Fix infinite parsing (details) Missing log (details) Fix -f parameter to comply with standard sendmail. Fix #1174 (details) Set metastore files hidden if possible. Should fix #1077 (details) Fix default web.config (details) Fixing secure for S3 and uploader (details) Fix invitation message for internal sharing of a file (not a folder). (details) Fix textarea margin in SF_material context. (details) Fix some css & positioning (details) Set metastore files hidden if possible (details) Refix logo positioning (details) Fix activity monitor style (details) Add node_repository_id to metadata when sending NodesDiff, to avoid events on the wrong repo. Remove legacy calls to XMLWriter::nodesDiff() and use message object instead. (details) Upload Configs : make sure options are reloaded on repository switch (details) Set metastore files hidden if possible (details) Fix incorrect repoId after array_merge function. (details) Add share data to invitation message. Close #1153 (details) double dot (details) Add a constant for pydio booster task identifier (details) Fix serializer: never add a "chunk" if there was already a proper XMLDoc. (details) Add an order parameter when registering the metaWrappers to allow a simple sorting. (details) Encapsulate in a dedicated message object. (details) Send instant message with empty repository when saving user / group role. We should have a similar strategy to publish a message to a role scope as well. (details) Broke XMLWriter into pieces: XMLHelper, XMLFilter and serializer NodeXML. (details) Nodeslist columns metadata (details) start fixing mysql driver (details) Fix Mysql access driver (details) Add nginx config sample (details) Tasks: Pass a specific className in the Task internals (details) Fix SqlMessageExchanger : make $channel property static as it is instanciated many times in the many registries. Filter message array to reduce duplication. (details) Sharing: pass original node down to the rightsManager, and send an event when updating/remove rights on user or roles. (details) LeftPanel : listen to the alerts widget and display a notification using the tasks when there is something new. (details) Notifications: send alerts to a larger scope: repository "*" and/or full groupPath. Handle that in messageExchanger and in notification DB persistence. Use this new system to send an alert when sharing a file or folder with a user. (details) Fix VarsFiltering issues: when PARENT_REPOSITORY_OPTION do not go further. Do not filter repository display anymore for sec reasons. (details) Add a WARNING in the legend of CASE_SENSITIVE to make sure to explain why it's always disabled. (details) Removed unused anymore scripts (details) SqlLogDriver: publish internal driver (details) Rename getAjxpTmpDir to getTemporaryFolder (details) mkdir and mkfile action do not require "read" right, only "write", otherwise it's not possible to upload a folder in a write-only minisite/share. (details) Pydio Booster device : ignore session_set_credentials setup (details) Set preview_seed on parent node when file is modified, should fix #1213 (details) Manual merge - close #1215 (details) Rename web.config to web.config.sample to avoid overriding existing file. (details) Support host:/path/to/socket file in sql driver configuration. Fix #1160 (details) Return empty array instead of null (details) Add a dedicated table for queues and stop using file-based queues (details) Avoid using : and * chars for queue files on windows (details) Init 6.5.3 files (details) Fix table creation for mq.sql (details) pg / sqlite versions (details) Switch to BLOB for ajxp_mq_queues (details) Switch to blob for ajxp_mq_queues (details) Index action: switch verbose parameter to verboz, as it conflicts with symfony command line. GUID: make it consistent with or without com extension on windows. (details) Index action: switch verbose parameter to verboz, as it conflicts with symfony command line. GUID: make it consistent with or without com extension on windows. (details) Fix deletion sql error (details) Fix Unique DL template CSS positioning - Close #1222 (details) Correctly clear node.info as well as stat when deleting a folder cache by key. (details) ShareCenter : forward change event if node has a minisite on it, by forwarding to root node in shared repo. (details) Fix plugins loading, triggering a permanent delete/rewrite of plugins_queries.ser (details) Missing robots.txt (details) PostgreSQL's binary type is called bytea (details) PostgreSQL's binary type is called bytea (details) fix primary key syntax (details) init 6.5.4 upgrade (details) init 6.5.4 upgrade - sql scripts (details) Fix bug ldap out-of-sync with core (details) Throw error when trying to move current super-admin inside a sub-group. Clean the code by the way. (details) Settings "delete" action: accept multiple values parameters [] for users, workspaces, groups and roles. (details) Add POST and PATCH requests to /admin/workspaces endpoint (details) Do not disable task / mq for minisites, as more actions rely on it. Fix powerFS (details) Fix ShutdownScheduler trigger, do not use output_buffering anymore. (details) Fix extensions loading (details) Switch blob to longblob for messages (details) Implement proper interruption for indexation task, remove "stoppable" flag for other tasks as long as they don't implement it as well. Re-plug ShutdownScheduler on shutdown hook for alternative accesses (DAVServer, Wopi). Open task panel more largely on mouseOver to see the full texts. (details) Commit of editor.libreoffice plugin (details) Fix PowerFS WinOS (details) Fix some array_merge usages that can conflict with numeric keys. (details) Return $this->roles instead of $this->rights["ajxp.roles"] (details) forgot error_log (details) Fix core.tasks tables and fix SqlMessageExchanger (close #1234) (details) New tables - upgrade script - Fix #1231 Fix #1232 (details) Change MCrypt test for either Mcrypt or OpenSSL - Fix #1233 (details) Ping install public/ folder to check if rewrite rule seems to work or not - Close #1236 (details) Use APCUIterator if APCIterator not available - Should close #1235 (details) Fix External Mailer: do not use tags for links - Should Fix #1217 (details) Do not testRewrite at install as htaccess is not yet correct. (details) Fix APCUIterator call (details) Make sure to use %bin modifier (details) Fix sqlite calls (details) Rework initial tests and installer. (details) Do not break on httpDeletion failed, but log an error (details) Typo in DELETE query (details) Fix parameter to set (CMDLINE_ACTIVE instead of CLI_PHP) (details) Fix parameter to set (CMDLINE_ACTIVE instead of CLI_PHP) (details) Refix shutdown scheduling (details) Improve force-update-if-package-json task (details) Use instead of (details) fix build (details) Fix 6.5.4 html note (details) Update CONTRIBUTING.md (details) Fix Lucene Process with WinOS (details) Pass on plugin_doc files (until action.updater), added some screenshots (details) Update some plugin_doc files (details) Fix metadata merge : use "+" operator only if keys are numeric, otherwise it breaks other metadata. (details) Update plugin_doc files (details) Fix WebFTP : try getting credentials from url. (details) switch to new PydioApi.getClient().loadFile() and ensure HTTP GET is used for static json files instead of HTTP POST (details) add back spaces after udevil parameter (from da40f3eee6065bfb2eab6a71f4d124a9a33f2a6f) (details) Change url.shorten hook to make it more versatile. First implementation of gateway. (details) Fix css artefact in user Dashboard. Should fix #1244 (details) Etherpad: generate a new PadID on copy. Fix #891 (details) Do not silently rename, allow exceptions/error to be caught. (details) Do not silently rename, allow exceptions/error to be caught. (details) FR strings. Fix Minisite dialogBox (details) Move OptionsHelper to core.mq (details) Fix FileReaderResponse (details) Disable "Radar" icon on tasks for the moment, it's not reliably disappearing. (details) Normalize basename before indexation if needed (macos) (details) PHP docs (details) Package cypher.encfs, action.timestamp, action.antivirus and index.elasticsearch by default in the standard distrib (details) Disable share_react action in MINISITE role (details) share: move style from js to css. (details) Option for downloading zip files on the fly (second patch) (details) Fix meta.git with composer (details) Fix stat (details) Fix various uploader issues DnD, styling, and implement upload from Welcome page with a workspace picker. Expand Drop zone to whole desktop in workspace. (details) Fix wrong Content-Length on AsyncResponseStream: always return "null" and apply proper test in SapiEmitter. (details) Change default thumb size to 128 (details) Fix enterprise ad title (details) Wire api v2 /io/ PUT (details) Move all routes JSON definitions inside core.ajaxplorer/routes/ folder (details) Updated translations (details) Minor translation updates (details) Fix user_create_user and external users mandatory prefix that was broken. (details) NoActiveWorkspace => disconnect before throwing an AuthRequiredException, and pass a message. (details) Disable resharing by default (details) Make sure to clear the session loaded repos on disconnect (details) Fix auto-apply profile and cache (details) Fix Root Group clickable. Replace icon-edit by mdi-pencil in some places. (details) Silently destroy session (details) Fix Digest Auth in WebDAV (details) Fixed translation in setup wizard ("Detected Server Path" has been renamed to "Detected Server URL" - old string was unused) (details) Reload roles when changing groupPath or Profile on a user (details) Missing pt-br strings (details) Missing pt-br strings (details) I18N new uploader (details) I18N new uploader (details) 6.5.5 update files (details) PHP7 (details) phan static analyzer config (details) Fixing WOPI new format and space in name (details) remove config file (details) Adding WOPI standard (details) Update htaccess comment (details) Little plugin for advertising imminent destruction of the world. (details) Throw exception on error (details) Display seconds when on '30' modulo. (details) Update version (details) Fix counter (details) Minor translation improvements and unifications in dashboard section (details) Update mobile apps URL's (details) Update mobile apps URL's (details) Gateway url's (details) Change Cache Dir (details) Do not check ssl by default for booster, or it fails loading certificates. (details) Update release note (details) 6.5.6 update files (details) Fix reject empty call (details) Copy he.js from node_modules to local utils during build and remove references to node_modules folder. (details) Fix Cypher.encfs actions (use file parameter instead of dir) (details) Fix unmount action (details) Update filegateway POST endpoint (details) Fix iterate-plugins task make sure to ignore defaultexcludes, or it must be ignoring the meta.git/composer.json file (details) Fix special chars in GeoConversion that was breaking maps positioning (details) ---- Pydio Core 6.5.6 Beta 6 for Pydio 7 - Final Candidate (3) ---- Pydio Core 6.5.5 Beta 5 for Pydio 7 - Release Candidate 2 ---- Pydio Core 6.5.4 Beta 4 for Pydio 7 - First Release Candidate ---- Pydio Core 6.5.4 Second beta for Pydio 7 ---- Pydio Core 6.5.2 Second beta for Pydio 7 ---- Pydio Core 6.5.1 Very first beta for Pydio 7 ---- Pydio Core 6.4.2 Pydio Core 6.4.2 fixes vulnerabilities discovered in remote download and some specific path filtering on Windows server OS. Installation is done via the "Stable" update channel in-app, or via Linux packages manager depending on your installation mode. [Most noticeable changes] Security issues on remote download and path traversal on Windows. Meterial Design follow-up : Icons, thumbnails view, search engine results Fix indexation issues for synchronisation Italian translations updated (DepaMarco), Czech translations updated (Svetlmodry) [Detailed Changelog] Update Italian translation for plugin 'access.ajxp_conf' Update Italian translation for plugin 'access.ajxp_home' Update Italian translation for plugin 'access.ajxp_user' Adding Italian translation for plugin 'access.inbox' Adding Italian translation for plugin 'action.disclaimer' Update Italian translation for plugin 'action.scheduler' Update Italian translation for plugin 'action.share' Added test for intl php extension as it is used to localize month names (see IntlDateFormatter in AJXP_Utils::relativeDate) Fixed test for detecting php apc extension (postive result even if apc was not loaded) Update README.md Update Release number adding disclaimer on plugin doc adding disclaimer on plugin doc and dependancies Make sure to invalidate repositories cache after accepting user in DuoSecurity. Add minimum characters number on UsersCompleter Update hooks extraction Update hooks extraction Use caching to agressively store directory listings, nodes metadata and nodes stats. Introduced caching namespaces, we could even provide different backends for differents namespaces. Todo: create a user namespace to flush only specific resources. Expand Doctrine caches implementation to add "deleteKeyStartingBy" when possible (currently only APC and Redis). If this feature is supported, activate the nodes cache layer (otherwise we cannot prune a full branch of the filesystem tree). Confusion possible if overriding private method. Fix cache invalidation Empty mask filtering on meta.syncable can create an issue with sync downloads. Make sure to Normalize_C the filename when uploaded from xhr. Feed.sql: index should not be declared unique. Delete imagick cache can be deferred. Add test for AbstractCacheDriver Fix APCIterator namespace Action.share : use ConfService::replaceRepository to trigger cache invalidation CoreCache: hook to workspace.after_update to clear associated cache contents New action MigrateLegacyShares Catch error on minisite migration Add a MetaCacheService on the client side, caching Shared Data and Activity Feed with clever invalidation rules. Keep in memory for the moment, always clearing on workspace switch (and thus on logout). Remove log. Use new cacheService for workspace.info Update README.md Like was causing multiple rows to be added to ajxp_index when changing directory pathname Correctly change index for children whose ancestors dir name changed Fix SMB issue when trying to delete folder with a file named '0' in it Rebase and update Updated Italian translation for plugin 'action.updater' Adding Italian translation for plugin 'auth.custom_db' Suggest FIX for English translation of plugin 'auth.custom_db': replace 'connexion' with 'connection' that is more common Fix error webdav in root folder Fix user's roles update Option to zip downloading files on the fly Czech translation - plugins editor.webodf editor.video czech translation editor.text translation to Czech editor.soundmanager translation editor.infopanel translation editor.exif czech translation editor.codepress czech translation editor.audio czech translation editor.ajxp_graphs czech translation Fix event on change error when cross-repository copy. Fix load users' feed Fix mapping to role id Adding Italian translation for plugin 'authfront.cyphered' Adding Italian translation for plugin 'authfront.duosecurity' Adding Italian translation for plugin 'authfront.http_basic' Adding Italian translation for plugin 'authfront.http_server' Adding Italian translation for plugin 'authfront.keystore' Adding Italian translation for plugin 'authfront.otp' Adding Italian translation for plugin 'authfront.session_login' Updated Italian translation for plugin 'core.ajaxplorer' Change S3 clients instanciation. SearchEngine: change "more results" messages, we may not know the exact total result count. (cherry picked from commit 58bbd23) Set REPO_SYNCABLE on default repositories (cherry picked from commit 86497a8) Adding react tap event clear dependency (cherry picked from commit 8c358fe) Fix group sorting in orderRoles ( close #1126 ) Fix URL for plugins documentation Set POST by default on client to avoid too long requests. Fix root node actions detection. Do not display inbox in cross repo list. Missing auto-complete styling for .e.g tags metadata. Fix fireContextChange by passing a dataModel: fix right-click instabilities. (cherry picked from commit 9d9851b) Fix possible issue in metastore for root node. Fix ShutdownScheduler that could skip deferred events when already in deferred loop. Dedup files in UserSelection Enable "Explore" action on root folder. Fix Team and Group listing and filtering by keeping an alt. pregexp value. Fix #1108: Caching issues for unoconv-generated previews of office files. Fix isUnique() function in datamodel. Missing var in disclaimer javascript. Refix group sorting. We must compare to 0. Fix TeamsList searching Css compile Adding support for latest versions of ElasticSearch #1184 Raise filtering level when downloading from remote or extarcting archive. Fix strange display in authentication panel by passing smbclient as param instead of global_param Get editable value in FormManager. Close #1124 Imagick: close session to avoid blocking request when generating preview. Fix resize when loading page. Multiple DL: get parent base for zip file. Making sure node metadata for file info is valid for a deleted file #1127 Fix thumb positioning for Imagick preview Implement font-based mime icons. Rework Grid display w/ more space for thumbnails Display overlay icons in tree, that way we can enable some actions on root node (inc. watch on workspaces). (cherry picked from commit 9e0df5b) update extensions Readapt styles for font-based mimes Css details Add some extensions New plugtype strings Reload messages when switching language i18n update Escape quotes and parenthesis before setting backgroundImage style fix FR typo Re-implement QRCode feature for shared links Add QRCode action for passing user / server name via qrcode to new mobile apps. Disabled by default. Performance improvements mail digest More detailed info about update sites Quick fixes for inlineEdition - Probably to be rewritten properly. Add pagination controllers in folders tree (when in Selector mode only) to allow copying/moving data around even if inside another page. Fix #1179 Make sure to save before trying to send an invitation to internal users. Fix #1166 Update abstractAuth plugin Pass & in string return Proxy latest_note to avoid re-asking authentification to update site. Revert previous change, we already had the display_upgrade_note action. Correcting security potential issue on windows in securePath Fix infoPanel action bars initialization when in editor mode. Fix #1145 Update DL page for Sync Clients Fix for #1117: don't remove tmp archive if using XSENDFILE Fix resize issues when display images fullscreen in minisite. Fix #1168 Fix #1176: catching all exceptions when sending mails and adding errors to the end report Fix z-index for videojs player, both in editor mode and fullscreen. Fix #1191 Use double-quotes instead of simple for links. Maybe see #1138 Fixing again parenthesis in background URL. Metarialize search engine results Adding composer.json to elasticsearch plugin Do not encodeURIComponent for oldSchoolMailer - Should fix #1138 Fix #1180: Unpatch the path for zip files before we check against the… … Force overriding conf/extensions.conf.php during upgrade, as output f… … Init new release note. Fix JSPacker static function call. Fix FormManager when setting default value inside group-based selectors ------- Pydio Core 6.4.1 - Bug Fixes for 6.4 Pydio Core 6.4.1 fixes most blocking issues revealed by the massive upgrade to 6.4.0. Installation is done via the "Stable" update channel in-app, or via Linux packages manager depending on your installation mode. [Overview] Many issues fixed in shares, linked to the deep refactoring of this feature. Amongst others, the "shorten" plugins were broken. * UI : Missing close button on some new dialogs, mobile display of the web UI was a little buggy * CMS Bridges where broken due to an issue in the glueCode.php file * Federated Sharing: some installs could have issues with URI's. [Detailed Changelog] Fix GlueCode.php Use longer description in api generator. Missing media.css file in gruntfile. Missing log for ShareNode action Fix method signature for PHP7 Expand api docs generator Rework Share options for folders / files vs. public links / internal sharing - Fix #1143 Better invalid share detection and remove it from meta. Fix many error messages. Update i18n Core.mailer : add DROP TRIGGER IF EXISTS Do not display section title if list is empty - Fix #1154 Fix #1148 Fix some media CSS Fix various glitches on Spanish language. Close #1136 Fix #1128 : add the ability to reject a previously accepted share. Make sure to transfer an empty DATA_TEMPLATE value to child repository - Fix #1152 Fix broken unsharing. Remove legacy share js resources - Discourage people to use old themes for now. Add a canWrite attribute on editors declaration, use it in ShareDialog to detect if a file has "writeable" editors and show an additional Edit permission for public links on files. Fix various issues with shares lists, especially in My Account & Admin panels. Use original_path for header if present in metadata. Fix failed remote share: make sure to remove unnecessary data on failure. Display close icon for mp3 player. Fix #1156 Fix htaccess tpl : replace ocs.php by opencollab.php Rewire missing action for deleting user-created workspace. Fixing S3 and webdav access Fix to #1157: adding support for apcu Fix to support mysqli Display close icon for versioning plugins Updated german translations and unified various words Fixed typo Fix broken shortener plugins : use a url.shorten hook instead of capturing share action output. Store data in share instead of metadata. ---- Pydio 6.4.0 is a stable release introducing many important new features! Installation is done via the "Stable" update channel in-app. Noticeable changes Sharing Deeply Reworked * Ability to now share files with other users (without creating necessarily a public link) * Ability to toggle the visibility of a share inside a common workspace, to let other users edit this share * Implementation of the Federated Sharing API to allow sharing files and folders accross Pydio instances, and with other software providers implementing this API (currently OwnCloud). * Rework of the share panel, with direct-click for copy, better expiration date visualisation, and many more UI transitioning smoothly to Material Design and ReactJS: following our previous work on the Enterprise Distribution with Material Design guidelines, and listening to your feedback about the UI. Changes are subtle (no big reorganization), but interface should be really clearer. Mails Digest : avoid receiving tons of emails when watching for a file or folder modification, and opt-in for an hourly/daily/weekly based digest instead. CacheService mechanism : extension of our previous work with in-memory cache to support many types of key-value stores (apc, memcache, reddis, etc..). We are using the well-established Doctrine Cache component. WebDAV access driver was entirely rewritten using Guzzle Amazon S3 Access Driver: improved, we now support PHP-SDK v2 and v3. Hook to our Cache Service for better performances. [DETAILED CHANGELOG] Italian translation: fix relative date format German translations: New translations for user and role administration Catalan & spanish tranlations Encoding change from ANSI to UTF-8 in en.php Missing comma & bad encoding in en.php Bad encoding in en.php (ANSI) core.notifications templates ca&es translations German translations: New translations for user and role administration [FIX] * Added missing keys to other languages (ecept en and de) Czech translation - meta.svn plugin access.dropbox plugin translation to Czech access.imap plugin translation to Czech access.sftp plugin translation to Czech auth.basic_http plugin translation to Czech auth.cmsms plugin translation to Czech log.syslog plugin translation to Czech log.text plugin translation to Czech mailer.phpmailer-lite plugin translation to Czech uploader.plupload plugin translation to Czech mq.serial plugin translation to Czech mq.sql plugin translation to Czech Update cms bridges release note Added CA and ES dropzone files in Uploader.html plugin core.ajaxplorer translation repair in catalan language Initial commit: Uses doctrine cache drivers as main caching system Loaded core cache directly from bootstrap.json and moved bootstrap handling to CoreConfLoader - Fixes Fixes after scrutinizr run Fixing deleted htaccess files Fixing typo Added translations for Core cache Removed default value for bootstrap.json cache Removed unnecessary call to deferBuildingRegistry Camel casing Doctrine Cache Driver Fix pluginInstance editor.browser i18 ca & es updates core.ajaxplores ca language updates meta.watch ca & es translations editor.browser ca&es files author fix action.disclaimer. spanish and catalan translation Start refactoring ShareCenter class (cherry picked from commit 89491d4) Fix issues in LegacyPubliclet Fix missing repository Fix error case / default template. Add ability to force PathStyle on S3 driver - Do not use make Custom URL and Region parameters exclusive. ForcePathStyle (action.compression]add index action at the end of the extraction [action.comopression] adding index action at the end of the extraction action.share : fix in ca & es files Make sure to include zip files when filtering node name in search results Massive refactoring of ShareCenter to make it simpler. New methods to collect metadata from children (only with metastore.serial) and avoid breaking links on parent (or other user) rename. Declare $shares variable before passing by reference. ShareCenter : carry on massive refactoring Docs & typing Start refactoring createSharedMinisite() function Split ShareCenter class again and again: new model ShareLink. Fix issue with metadata moving. Split ShareCenter class again and again: new model ShareLink. Fix issue with metadata moving. collectChildrenWithRepositoryMeta : return relativePath from base node, not absolute in workspace. Store share visibility always in shared repo options, not in share object Make moveSharesFromMeta recursive Adding core access functionality to simplify addition of new driver through Guzzle, and added new WebDAV driver [access.s3] Adding SDKv3 compatibility [access.s3] Adding SDK and API version in the plugin [access.s3] Overwrite the s3 stream wrapper [access.s3] Adding Pydio CacheService to s3 Cache interface New class for loading React component inside standard Dialog. Add react-autosuggest to core bundle. Enrich user_list_authorized_users with alternative format (xml) and more info about the users. ignore new react build folder Move PydioForm & ReactPydio modules in gui.ajax Final refactoring of action.share PHP part do not load pydio-mui here - todo : find where to load Move mui css files inside gui.ajax Small dialog styling evolution to be more compatible with material design widgets. New react-based share dialog Fix user search engine Add missing resources for compilation. Load alerts: silently test if file exists. Authentification -> Authentication for English Fix various UI stuff in ShareDialog Add Clipboard module for copying to clipboard Fix hidden Field in AbstractAjxpUser Fix cache.doctrine empty options. Fix cache plugtitle french translation Cross-copy action: pass Repository object to UserSelection() Adding guzzle, reformatting the code and adding the documentation Removing guzzle tests from the package Fixes to SMB auth: - Registered stream is smbclient://, not smb:// - smbclient binary path could not be set for auth plugin Fix default tpl name Fix unshare when removing users and no public link active. Little Charset Bug in index message dir_closedir() has no return value Fixes for upload and deletion Mitigate update role request Fix image magick preview on multiple page office file Fix switch to default start repository after loggin in by CAS Method updateRepository() on AJXP_Sabre_Node to set repo after authentication succeed. Move ContentFilter filterings to AJXP_MetaStreamWrapper instead of UserSelection and fsAccessDriver. New ocs access point to implement Open Cloud Specification. DAV implementation working on public links. Update htaccess accordingly. Simple skeleton for an "Inbox" workspace displaying all shares received. Fixes on S3 new implementation Refactor core.ocs to use namespaces and composer autoload. Allow string in classname attribute to use backslashes in namespaces. Added layer between pydio and pydio.dav to handle auth Model implementation using simpleStore for OCS Create Server for /shares/ access point. Use remoteId as RemoteShare id. Client & Server stuff for OCS Plugin Sharing and OCS together. Ultra-basic UI for tests. Change Core Access Plugin and WebDAV Client to use Scheme Translator Wrapper layers Style remote-users-add form Added layer between pydio and pydio.dav to handle auth Fixing duplicate function name Fixing the Meta Stream Wrapper Update styling fixes stat result handling in case of empty files, according to docs stat should return -1 or text error message small optimizations for handling of alternative stat commands Added context handling in Meta Stream Wrapper Create CompositeShare object - Change json output format to handle 1 or N links. Added OCSClient to interface with OCS API Rework OCS Links Fixing error Fixing OCS Client use documentName Switch to documentName Fix some stuff on OCS Fix when no share is enabled ConfService: add some includeHooks to contribute with repositories. Add a virtual folder at the root of the webdav to make it API-consistent (both folders and files are accessed via /../dav/DocumentName) Store remoteShares by token, not remoteId Ping back on Dav access point when receiving a share. Last update of Inbox driver Ping remote when receiving share. Fix download right management on public link. Fix clearing shares New PydioUsersApi in Core to encapsulate users related requests New react-based UsersCompleter component, including user creation form. Use generic UsersCompleter and remove from ShareDialog. Use core PydioUsersApi as well. New react-based PydioMailer. Move css from action.share to PydioMailer Finish wiring mailer. Handle no mailer and force Old school case. Wire password strength checker on user creation form and share password form Handle custom RW permissions for remote users. Mail notification not fully encoded UTF-8 if Win OS Fix missing repo_label parameter [access.s3]Changing require file name Fix OCS Client with non empty base Path Replace main share dialog Massive i18n for new ShareDialog Fix ocs with baseUri Renaming Renaming Make webdav enabled by default Fix contentType detection and remote URL values for invitations. Fix unshare Touch user role to trigger repo reload if user is logged. Fix reloadRolesIfRequired to make sure personalRole is in sync [access.s3] Fix rename folder for SDK V3 and changing require file name Migrate Info Panel modified from ShareCenter to ShareDialog Do not list teams in usersOnly Expose FEDERATED_SHARING_ENABLED setting Implement Readonly Mode on ShareDialog Fix Exception Namespace - Close #1067 Move back the remote share /dav/ to root, do not create virtual folder anymore. For files, both the / and the /filename.ext send the same answer (stat of the file). Change Invitation IDs from GUID to random Integers (requires one or more db calls). Fix #1065 Fix OCS unshare implementation Disable Test File Added caching of the Path Wrapper functionality and changed the hkey for the Stream Wrapper global caching List Teams even if regexp is null and mandatory Fix rights management : do not assign minisite-role for remote shares. Implement accept / decline remote shares. Another pass on inbox driver. Not sure it will be kept as is. Adding OAuth Wrapper to the core access for Oauth2 authentification Adding doctrine namespace key First split of big css into smaller less files Lessify LESS : refactor / extract variables Fixed timeout issue and added local caching to the path wrapper Move old screen and xtree to less components Update CSS - Change how we handle global_toolbar styling Revert unnecessary commit Smooth transition to material Smooth transition to material Add cssmin to package.json Typo in package.json - Start fixing admin panel styles Fix styling Organize fonts - Add a subset of mdi. Will be enriched as needed. LeftNavigation: add user_create_repository action if present. Fix fonts imports via less variable. Replace all share icons by new mdi-share-variant. Actions, fonts, CSS ... Rework Home Panel Improve the user dashboard a bit. Make the left nav panel open by default, closing after 3s Css compil Fix mdi icons font - fix top toolbar bg Pass hasContentFilter info Make LeftNavigation panel more generic Use LeftNavigation component for Home page Do not commit built form Add build/ folder to ignore file [core.mailer]Adding the grouped mail and the CRON [core.mailer]Adding the user choice in the manifest [core.mailer]Adding the mysql create file for the database [core.mailer]Adding the postgreSQL create file for the database [core.mailer]Adding the SQLite create file for the database Fix splash style Dashboard, home, login panels Hide tooltips on repo switch Special icon for Inbox workspace Minsites: remove all inline style from manifest and put them in a dedicated stylesheet. Various fixes on Share Dialog Update website in email templates Pass page_position parameter when opening search result in paginated context. Fix #1041 Check dibi::isConnected() whenever possible. Close #1043 Fix #1061 Missing resource in core.mailer user_list_authorized_users : always send root node (ul). Reset Download Counter Fix videos in tutorial panel Inbox and Share Notification in left menu Adding hook to Repository loaded change Fix to inbox and CacheService Adding local status to the share notification panel Observer repository_list_refreshed event Stop Share Notification Dispatcher if noone is listening Loading on load Add two new properties on Repository object (repositoryType and accessStatus), publish them in the XML, parse them in the js model. Change to the Left Navigation Fix FilesList modifier Rework Inbox Driver Use the last_history pref to add a repository_last_connected timestamp and send it in repo list. Last css compil Inbox : replace left panel by a quick filter box Left Panel icons Count shared files access status Fix repository_last_connected flag Dialog box for remote shares Replace alerts panel Fix AjxpPane.parseComponentConfigs Typo in fsTemplatePart Adding badge and overlay for the dialog Handle empty message Fix notifications actions in left panel i18n inbox access driver inbox: change buttons style Adding inbox badge Listening to repository refreshed on home page Resolve AJXP_Exception deprecation warning IE tweaks Adding modal on demand instead of inline Fix installer style [core.mailer]Adding separator in the create sql file [core.mailer]Adding character set in the create sql file Fix to not display the share notification twice AjxpMailer now has SqlTableProvider interface. For OwnCloud compat, make sure to always ping the root of webdav, not /DocumentName i18n on core.ocs and access.inbox Adding owner to the remote share alert box Add inbox repository by default AjxpMailer install tables only for core plugin First draf of 6.3.1 release notes Fix mailer digest computes Fix consume_mail_queue Replace repositories Missing resource Fix source_path in new package.json files Public links were broken by the repo filtering Add optional css_path in package.json and force copy at upgrade time to make sure all resources are there before compilation. Reorganize ajxp_home to avoid upgrade issue with previously deleted folder. Fix "share file with new user" case by adding the inbox repository acl. Forgotten console.log Quick fix of "edit team" panel. Admin fonts Add access to inbox in root role during the update. Small typos and IE fixes Refix auto-completer open / close Removing code from index.php, adding dependency in OAuthWrapper Fix menu open / close Missing resource remove the default charset for sqlite table remove the default charset for postfre table adding 6.4.0 sql table Prune some words from captchas ... Fix horizontal bar on DL only template (IE / FF) Fix #1076 : public link issue on windows server Leftpanel overflow : set auto instead of scroll Force LeftPanel to avoid scrolling on small lists (fix #1081) Fix editor_action_bar buttons fonts Fix #1080 - add check on min length when choosing custom link. Enhance interactions on sharedialog based on checkbox values and current node type. Fix #1079 Small optimizations for file upload handling in rsync based part, no need to copy signature/delta files Compile less for more browsers ( --autoprefix="last 2 version, > 10%" ) Switch leftpanel typo color to rgb() instead of rgba() for IE8. Error-catching on components load - was breaking ie8 interface. WebSocket : listen to onerror / onclose events and fallback to polling. Missing form component type "monitor", factorize with "button". Set Inbox workspace rw (not only r) and manage various actions by either not importing them or disabling them. Disable "write" in stat based on shared repository permission. Add forceComputeFit on codemirror editor to fix fullscreen resize problems. Fix #1083 Refix previous commit, force resizing after fullscreen end. Fix Breadcrumb for very deep folders. Close #1006 Fix public links htaccess file for languages indicators containing dashes. Fix #1050 Fix #1078 - use Post instead of Get. Fix css for selection cart and searchengine. Close #1082 Fix "My Group" sharing Ignore error on ldap_sort as it's getting deprecated. Close #1031 Tidy up core.mailer : add a parameter to activate queue or not, for backward compat. Artificially update setLeaf() on node it's a root of repository with content filter. Should fix #1090 Trigger "node.read" in inbox driver otherwise there is no notification. Fix #1087 Fix file name in zoho editor Added translations to share dialog and updated german translations Hook to workspace.share_metasources to disable repository_keywords on index.lucene for shared workspaces, as path is already resolved. Close #1017 Fix various stuff with sharing admin settings, format date, set maximum date, etc. Fix #1095 Throw error to prevent dialog closing on force password change action. Close #900 Fix scroll to selection when triggering setSelectedNodes from other view. Pass an ajxp_im_time in the nodes / nodeDiffs results, allowing the UI to ignore events that are loaded after other modifications. MessageExchanger : do not read pending IM's when registering a client on a given channel. Fix node.change hook in meta.watch : artificially setting the node->leaf was messing things in other callbacks. Create a simple copy of the node. New dontBreakOnException XML attribute for hooks: ignore exceptions (log them) and don't break the loop for other callbacks. Default behavior stays "breakOnException" for backward compat (permissions exceptions for example). Fix share deletion on node deletion : ignore repo-not-found error Enable metastore and meta.watch for "inbox" workspace to trigger notifications Fix #1099 Sharing . When share scope is public, send IM to reload connected UI's . ShareDialog: better indication when link is expired (fix #1101), do not show Stop Sharing if not owner of the share (fix #1102) ShareCenter: Unused vars Fix ShareDialog when not in a streamWrapper driver. Fix styling Fix textarea bottom border Change target url Change Remote Users legend Fix multiple smb servers Set Federated Sharing false by default. Handle share dialog when not active. Last i18n's in share dialog. Add FR translation for OCS Fix memory leak : reloading driverInstance may induce mem leaks. Make sure to do it only if necessary. Fix strange offset in breadcrumb Slug and UUID added as path variables Re-enable Folders upload for Chrome / Mac (utf8 issues are now fixed). Rework UI when folders upload is enabled. renamed AJXP_USE_UUID_PATH to AJXP_WORKSPACE_UUID AJXP_USE_SLUG to AJXP_WORKSPACE_SLUG Update compiled version of ajaxplorer_boot Move pyd.io to pydio.com references Fix html / no html emails Fix triggers : do not insert original id. Fix to #1100 - use AJXP_MetaStreamWrapper Fix to #1100 - use AJXP_MetaStreamWrapper - for XACCELREDIRECT too Fix to the #1100 issue Fix D'n'D issues : conflict between uploaders dnd and ReactDND, create a fake custom backend to remedy. Close #1105 Some styling fixes on LeftPanel and WelcomePanel Fix pyd.io in Credits file. Passing correct options variable to the Doctrine Cache Driver Fix Doctrine redis problem by passing correct options to the cache driver Fix delete share from My Account (clear metadata) Fix AjxpMailer : renamed recipent to recipient Add tooltip on alerts list Many css fixes Disable bookmarklet action, never used Rework tutorial & download panels on Home. Remove action open_tutorial_pane More styling on welcome page. DL links are optional. Transition video panel - Crop video thumb - Autoplay video. 7s only Add space before notifications numbers Always pass the CREATE option to shared children, may be necessary for dynamic mounting. See #1098 Adding transition effect home panel Use Modernizr no-cssreflections to switch svg background to standard image. Do not set cache instance driver mandatory. Fix focus issues on selection change & drag to select Fix to Safari box shadow Fixing the build for grunt Fix to #1068: removed external users and added Groups instead Fix various scrolling issues in UserCompleter for ShareDialog, show loading indicator, fix long group names. Css Fixes for Mobile Compiled css Useless install tables button in mq.sql (using ajxp_simple_store). Close #1106 ShareCenter : do not forward events to ocs_remote share. Zoho : do not trigger unnecessary node.change if file was not modified. Fix typo in Registry : user object is on _pydioObject, not self. Check for ajxp_readonly to avoid proposing writeable editors. ZohoEditor : remove "write" attribute and send mode="view" for opening editor in readonly mode. PixlrEditor: bettor error handling, recheck write permission. OpenWith : check if node is readonly and do not display "write" editors in the menu. Access.inbox : store stat in static variable after all modifications. Add extension to temp name as it is required for some editors. Some fix for ZOHO Editor Code analysis Design for the boxes on the home page and scrutinizr for sqlConfDriver Fix missing dependency in package.json Fix wrong is_array call. Fix logos not clickable on IE Reverting to good'ol'blue png for upload progress background. Confusing for the users otherwise. Close #1112 Changing the icon on the home page Auto rename share label #1111 Fixing the quota box home page Removing debug delay Removing debug Adding timeout to the repository switch Fix wrong message on group creation Fix Getting Started video Remove .bak file Move breadcrumb height to a specific context to avoid breaking other templates. Fix windows encoding issues when moving shares. Should fix #1114 Make LabelWithTip more generic Rework home page with Material cards Additional check on content of configs["REPOSITORIES"] Adding inbox card and fixing ocs client issues Repository : Nullate the internal driverInstance before serialization. Seems to fix the session corruptions issues. UI fixes Fix ReplicationPanel removeRow : swap row to remove to last position and let removeLastRow delete it. Reload bootstrap_repositories just after clearing the cache, to avoid settings repository issues. Fix Css for replication groups in settings panel. Fix #1120 Fix text-only emails, add new layouts; Fix useHtml applied to all users (close #1121) FilesList : revert previous changes on Focus DataModel : ignore setSelectedNodes() if no changes InfoPanel : loadRepositoryInfo Do not over-summarize notifications in email digest. Fix #1123 Fix "recipient" in 6.4.0 update sql scripts Materialize connexion loader Replace icon-remove by mdi.mdi-close wherever possible Create 6.4.0 script --------------- Pydio 6.3.1 is a development release introducing many important new features! As its name implies, it is NOT production-ready yet. However, the more you help us testing and you report issues, the quicker we will be able to transform it into a stable 6.4. Please use Github to submit issues, making as sure as possible to submit only issues linked to this new release : regression of existing features, or problems with the new ones. Enjoy! It's also a good time to help on translations with the new strings! Thanks for all your contributions. Installation is done via the "Development" update channel in-app. They will not be any Linux Packages released for that version. Noticeable changes Sharing Deeply Reworked: Ability to now share files with other users (without creating necessarily a public link) Ability to toggle the visibility of a share inside a common workspace, to let other users edit this share Implementation of the Federated Sharing API to allow sharing files and folders accross Pydio instances, and with other software providers implementing this API (currently OwnCloud). Rework of the share panel, with direct-click for copy, better expiration date visualisation, and many more UI transitioning smoothly to Material Design and ReactJS: following our previous work on the Enterprise Distribution with Material Design guidelines, and listening to your feedback about the UI. Changes are subtle (no big reorganization), but interface should be really clearer. Mails Digest : avoid receiving tons of emails when watching for a file or folder modification, and opt-in for an hourly/daily/weekly based digest instead. CacheService mechanism : extension of our previous work with in-memory cache to support many types of key-value stores (apc, memcache, reddis, etc..). We are using the well-established Doctrine Cache component. WebDAV access driver was entirely rewritten using Guzzle Amazon S3 Access Driver: improved, we now support PHP-SDK v2 and v3. Hook to our Cache Service for better performances. Known Issues Again, it's a dev release. There are some limitations that you should be aware of. Internet Explorer Limited support : IE11/Edge should go pretty well, others, mmm, not sure :-) Detailed Changelog Italian translation: fix relative date format German translations: New translations for user and role administration Catalan & spanish tranlations Encoding change from ANSI to UTF-8 in en.php Missing comma & bad encoding in en.php Bad encoding in en.php (ANSI) core.notifications templates ca&es translations German translations: New translations for user and role administration [FIX] * Added missing keys to other languages (ecept en and de) Czech translation - meta.svn plugin access.dropbox plugin translation to Czech access.imap plugin translation to Czech access.sftp plugin translation to Czech auth.basic_http plugin translation to Czech auth.cmsms plugin translation to Czech log.syslog plugin translation to Czech log.text plugin translation to Czech mailer.phpmailer-lite plugin translation to Czech uploader.plupload plugin translation to Czech mq.serial plugin translation to Czech mq.sql plugin translation to Czech Update cms bridges release note Added CA and ES dropzone files in Uploader.html plugin core.ajaxplorer translation repair in catalan language Initial commit: Uses doctrine cache drivers as main caching system Loaded core cache directly from bootstrap.json and moved bootstrap handling to CoreConfLoader - Fixes Fixes after scrutinizr run Fixing deleted htaccess files Fixing typo Added translations for Core cache Removed default value for bootstrap.json cache Removed unnecessary call to deferBuildingRegistry Camel casing Doctrine Cache Driver Fix pluginInstance editor.browser i18 ca & es updates core.ajaxplores ca language updates meta.watch ca & es translations editor.browser ca&es files author fix action.disclaimer. spanish and catalan translation Start refactoring ShareCenter class (cherry picked from commit 89491d4) Fix issues in LegacyPubliclet Fix missing repository Fix error case / default template. Add ability to force PathStyle on S3 driver - Do not use make Custom URL and Region parameters exclusive. ForcePathStyle (action.compression]add index action at the end of the extraction [action.comopression] adding index action at the end of the extraction action.share : fix in ca & es files Make sure to include zip files when filtering node name in search results Massive refactoring of ShareCenter to make it simpler. New methods to collect metadata from children (only with metastore.serial) and avoid breaking links on parent (or other user) rename. Declare $shares variable before passing by reference. ShareCenter : carry on massive refactoring Docs & typing Start refactoring createSharedMinisite() function Split ShareCenter class again and again: new model ShareLink. Fix issue with metadata moving. Split ShareCenter class again and again: new model ShareLink. Fix issue with metadata moving. collectChildrenWithRepositoryMeta : return relativePath from base node, not absolute in workspace. Store share visibility always in shared repo options, not in share object Make moveSharesFromMeta recursive Adding core access functionality to simplify addition of new driver through Guzzle, and added new WebDAV driver [access.s3] Adding SDKv3 compatibility [access.s3] Adding SDK and API version in the plugin [access.s3] Overwrite the s3 stream wrapper [access.s3] Adding Pydio CacheService to s3 Cache interface New class for loading React component inside standard Dialog. Add react-autosuggest to core bundle. Enrich user_list_authorized_users with alternative format (xml) and more info about the users. ignore new react build folder Move PydioForm & ReactPydio modules in gui.ajax Final refactoring of action.share PHP part do not load pydio-mui here - todo : find where to load Move mui css files inside gui.ajax Small dialog styling evolution to be more compatible with material design widgets. New react-based share dialog Fix user search engine Add missing resources for compilation. Load alerts: silently test if file exists. Authentification -> Authentication for English Fix various UI stuff in ShareDialog Add Clipboard module for copying to clipboard Fix hidden Field in AbstractAjxpUser Fix cache.doctrine empty options. Fix cache plugtitle french translation Cross-copy action: pass Repository object to UserSelection() Adding guzzle, reformatting the code and adding the documentation Removing guzzle tests from the package Fixes to SMB auth: - Registered stream is smbclient://, not smb:// - smbclient binary path could not be set for auth plugin Fix default tpl name Fix unshare when removing users and no public link active. Little Charset Bug in index message dir_closedir() has no return value Fixes for upload and deletion Mitigate update role request Fix image magick preview on multiple page office file Fix switch to default start repository after loggin in by CAS Method updateRepository() on AJXP_Sabre_Node to set repo after authentication succeed. Move ContentFilter filterings to AJXP_MetaStreamWrapper instead of UserSelection and fsAccessDriver. New ocs access point to implement Open Cloud Specification. DAV implementation working on public links. Update htaccess accordingly. Simple skeleton for an "Inbox" workspace displaying all shares received. Fixes on S3 new implementation Refactor core.ocs to use namespaces and composer autoload. Allow string in classname attribute to use backslashes in namespaces. Added layer between pydio and pydio.dav to handle auth Model implementation using simpleStore for OCS Create Server for /shares/ access point. Use remoteId as RemoteShare id. Client & Server stuff for OCS Plugin Sharing and OCS together. Ultra-basic UI for tests. Change Core Access Plugin and WebDAV Client to use Scheme Translator Wrapper layers Style remote-users-add form Added layer between pydio and pydio.dav to handle auth Fixing duplicate function name Fixing the Meta Stream Wrapper Update styling fixes stat result handling in case of empty files, according to docs stat should return -1 or text error message small optimizations for handling of alternative stat commands Added context handling in Meta Stream Wrapper Create CompositeShare object - Change json output format to handle 1 or N links. Added OCSClient to interface with OCS API Rework OCS Links Fixing error Fixing OCS Client use documentName Switch to documentName Fix some stuff on OCS Fix when no share is enabled ConfService: add some includeHooks to contribute with repositories. Add a virtual folder at the root of the webdav to make it API-consistent (both folders and files are accessed via /../dav/DocumentName) Store remoteShares by token, not remoteId Ping back on Dav access point when receiving a share. Last update of Inbox driver Ping remote when receiving share. Fix download right management on public link. Fix clearing shares New PydioUsersApi in Core to encapsulate users related requests New react-based UsersCompleter component, including user creation form. Use generic UsersCompleter and remove from ShareDialog. Use core PydioUsersApi as well. New react-based PydioMailer. Move css from action.share to PydioMailer Finish wiring mailer. Handle no mailer and force Old school case. Wire password strength checker on user creation form and share password form Handle custom RW permissions for remote users. Fix missing repo_label parameter [access.s3]Changing require file name Fix OCS Client with non empty base Path Replace main share dialog Massive i18n for new ShareDialog Fix ocs with baseUri Renaming Renaming Make webdav enabled by default Fix contentType detection and remote URL values for invitations. Fix unshare Touch user role to trigger repo reload if user is logged. Fix reloadRolesIfRequired to make sure personalRole is in sync [access.s3] Fix rename folder for SDK V3 and changing require file name Migrate Info Panel modified from ShareCenter to ShareDialog Do not list teams in usersOnly Expose FEDERATED_SHARING_ENABLED setting Implement Readonly Mode on ShareDialog Fix Exception Namespace - Close #1067 Move back the remote share /dav/ to root, do not create virtual folder anymore. For files, both the / and the /filename.ext send the same answer (stat of the file). Change Invitation IDs from GUID to random Integers (requires one or more db calls). Fix #1065 Fix OCS unshare implementation Disable Test File Added caching of the Path Wrapper functionality and changed the hkey for the Stream Wrapper global caching List Teams even if regexp is null and mandatory Fix rights management : do not assign minisite-role for remote shares. Implement accept / decline remote shares. Another pass on inbox driver. Not sure it will be kept as is. Adding OAuth Wrapper to the core access for Oauth2 authentification Adding doctrine namespace key First split of big css into smaller less files Lessify LESS : refactor / extract variables Fixed timeout issue and added local caching to the path wrapper Move old screen and xtree to less components Update CSS - Change how we handle global_toolbar styling Revert unnecessary commit Smooth transition to material Smooth transition to material Add cssmin to package.json Typo in package.json - Start fixing admin panel styles Fix styling Organize fonts - Add a subset of mdi. Will be enriched as needed. LeftNavigation: add user_create_repository action if present. Fix fonts imports via less variable. Replace all share icons by new mdi-share-variant. Actions, fonts, CSS ... Rework Home Panel Improve the user dashboard a bit. Make the left nav panel open by default, closing after 3s Css compil Fix mdi icons font - fix top toolbar bg Pass hasContentFilter info Make LeftNavigation panel more generic Use LeftNavigation component for Home page Do not commit built form Add build/ folder to ignore file [core.mailer]Adding the grouped mail and the CRON [core.mailer]Adding the user choice in the manifest [core.mailer]Adding the mysql create file for the database [core.mailer]Adding the postgreSQL create file for the database [core.mailer]Adding the SQLite create file for the database Fix splash style Dashboard, home, login panels Hide tooltips on repo switch Special icon for Inbox workspace Minsites: remove all inline style from manifest and put them in a dedicated stylesheet. Various fixes on Share Dialog Update website in email templates Pass page_position parameter when opening search result in paginated context. Fix #1041 Check dibi::isConnected() whenever possible. Close #1043 Fix #1061 Missing resource in core.mailer user_list_authorized_users : always send root node (ul). Reset Download Counter Fix videos in tutorial panel Inbox and Share Notification in left menu Adding hook to Repository loaded change Fix to inbox and CacheService Adding local status to the share notification panel Observer repository_list_refreshed event Stop Share Notification Dispatcher if noone is listening Loading on load Add two new properties on Repository object (repositoryType and accessStatus), publish them in the XML, parse them in the js model. Change to the Left Navigation Fix FilesList modifier Rework Inbox Driver Use the last_history pref to add a repository_last_connected timestamp and send it in repo list. Last css compil Inbox : replace left panel by a quick filter box Left Panel icons Count shared files access status Fix repository_last_connected flag Dialog box for remote shares Replace alerts panel Fix AjxpPane.parseComponentConfigs Typo in fsTemplatePart Adding badge and overlay for the dialog Handle empty message Fix notifications actions in left panel i18n inbox access driver inbox: change buttons style Adding inbox badge Listening to repository refreshed on home page IE tweaks Adding modal on demand instead of inline Fix installer style [core.mailer]Adding separator in the create sql file [core.mailer]Adding character set in the create sql file Fix to not display the share notification twice AjxpMailer now has SqlTableProvider interface. For OwnCloud compat, make sure to always ping the root of webdav, not /DocumentName i18n on core.ocs and access.inbox Adding owner to the remote share alert box Add inbox repository by default AjxpMailer install tables only for core plugin ---- Pydio 6.2.2 Pydio Core 6.2.2 is another bugfix release providing compatibility fixes for non-standard plugins to the core. See complete changelog below. Thanks to the following contributors for this release: cdujeu, c12simple, Isma91, floffel03, rbrdevs, DepaMarco, Ellega. Olivier Paroz, Stéphane Chadeyron. [Noticeable changes] Over-agressive caching could end up creating issues in IE when switching workspaces Security: sanitization strengthen for potential XSS attacks. Fix regression on "Remember Me" switch Fix Video Player for FireFox Joomla Bridge Compatibility (broken by last Joomla version). [Detailed Changelog] Update Italian translation for plugins: 'access.ajxp_conf', 'action.compression', 'action.share', 'core.ajaxplorer', 'core.notifications' Take the active mailer plugin , not the first that comes [core.mailer] Update the class which takes the active mailer plugin [conf.sql / access.ajxp_user] Improve Team management. Websocket: if there's an internal BIND address, it's most likely the address the php server will have to connect to. Added a Todo to handle REST auth. Unserialization can fail on some systems, make sure to reload role if it's not an object after waking up object. Fix SFTP username containing dash character (git issue #1014) [gui.user] Fix display & i18n message [gui.ajax] Create a "legacy" version of the bundle without ReactDND, and add fallbackCondition and fallbackFile in the js/css ressources to load alternative versions. Make test on personalRole stronger if there is an error at deserialization time. IE Caching policy is too agressive, we have to add some random ID to force reload sometime. Renamed constructor for PHP7 compatibility Update CLA URL Handle repository with deleted parent. Should fix #1025 Typo in getRelatedNotifications() method (not used). Update CONTRIBUTING.md [core.notifications] fix getRelatedNotifications() Fix #1019 Util function to get user label either from role directly or from user object. Fixed recursive indexation issue with FTP workspaces. Wrappers must declare isSeekable() to enable listing optimizations in fsAccessDriver. Make sure not to load an indexed document if the meta.change event comes from a "delete" operation. Enforce sanitization of user id when sending to error log. Update window.MessageHash when changing i18n. Alternative fix #1021 Typo in rest parameter for role_update_right Pass optional parameters to the node->load() method. Pass optional cursor parameter to the logs. SQL logger can use it as a query limiter to only load data starting from a given id. Return cursor attribute in XML as well. Use udevil to mount instead of sudo Improve performance: caching ldap search result in class static variable Improve notifications on shared resources - Separate Location from the notifications - Avoid empty label in Alerts feed. Better catch of imagick call error. Fix tmp folder for unoconv Strip only left space on dirname - Fix #1023 Imagick: Parameters should follow convert command. Fix rewind on SchemeTranslator wrapper - Prevent editing meta on non-writeable resource. [auth.remote] Make sure to keep the initial session.save_handler - Fix Joomla connector. Joomla plugin: make sure to switch back to previous session, as the session content is saved in register_shutdown_handler. Compute locationType when setting node, so that it can be serialized/unserialized Do not cache Sharing configs - Fix #1013 Make sure to use === when comparing to constants, or repo 0 can be considered as repo_scope_all. Enable kvcaching in non-rest controller. [ShareCenter] Fix unshare workspaces from My Account zone - Fix readonly mode not being switched correctly in some case. Registry Cache Key : repo can be null. Fix Exif metadata display in InfoPanel when no GPS parameter is defined in the plugin or no GPS data is present in photo. Fix regression on contextual menu content and default item display. Fix regression on "Remember Me" feature. Replace pydio.getController().parseXmlMessage() by PydioApi.getClient().parseXmlMessage. Same for triggerDownload() moved as static method on PydioApi. Fix Eml Attachment Download. Replace all Controller.parseXmlMessage calls by PydioApi.getClient().parseXmlMessage in manifests. Replace ' by " to avoid label truncating on users/teams listing. Better sanitization and error catching on Team creation. Prevent editor.browser to open SVG files directly, always force as attachment. Pass the $url to isSeekable(), allowing to return different value depending on the path (=> return false for Zip files in fsAccessWrapper, or it's messed up when browsing zip subfolders). Declare restParams on compress in action.powerfs, otherwise API is not working for this action when plugin is active. Fix ChangesTracker for filter + mask management. Fix indexation issue when copying folders. Specific fix for video player for Firefox Update sdk generator: do not skip already parsed actions. * Setup wizard can now be translated completely * Added german translations for setup wizard Fix display quota on FreeBSD Fix file/folder message on move. Close and replace PR #1000 ($dirRes is never set in that case) Update .travis.yml Updated ca/es files PHP7 Constructors fixes PHP7 Constructor fixes Missing Comma in ca.php Add Travis Badge Fix #1010 Zip Browsing on Windows Server Add new parameter for signature - Add Frankfurt & Seoul Regions. Close #846 Fix log grouping Fix Copy Selection action Fix google shortner api key - Close #1030 Make sure to not return an empty value. Fix some specific zip extraction case on Windows Server. Fix multimode value : check instance_name OR group_switch_value Fix MacOS Yosemite / El Capitan Detection Fix italian "Invite" button: missing translation strings. HTML Base Tag is not correctly applied in IE10 when dynamically inserting "link". Add an data-hrefRebase tag to be processed (prepending the base) on ie10 only. Close session when sending binary files. Could create a race condition with tryLogUserFromCookie. -------------------------- Pydio Core 6.2.1 is a bugfix release providing compatibility fixes for non-standard plugins to the core. See complete changelog below. Some servers do not return the "." value, send a fake stat in that case by grabing the stat from AJXP_DATA_PATH. Fix tab char in sql script [action.disclaimer] Make sure to invalidateLoadedRepositories() after updating the lock value. [access.fs] Fix is_readable call for folders inside API. Fix #988 try catch every single file when we extract an archive Update website Update README.md [meta.syncable] Fix a wrong flatten case when deleting/restoring to/from the recycle bin. Fix shortcuts disabling on SearchEngine. Fix #994 Fix Root Group management issues. Change DefaultRights management: update Root Group, do not update personal roles anymore, otherwise it always takes precedency on parent groups/roles. Do not skip the AJXP_CLEAR_VALUE, set to the merged role. Fix display in search engine leaving the group headers on empty result. Observable: make a copy of observers otherwise if there are many observeOnce ones they are not correctly applied. Typo in EmptyNodeProvider Fix user history and ?goTo= mechanism. If skip_user_history is fale, use goTo, otherwise use URL directly. User dashboard, switch action bars to dataModelElementId instead of global events. Admin Panel: to not list Templates in group/roles ACL - Fix Legacy shares listing not properly filtered. Core.* plugins should be appended at the beginning of active lists. Fix compatibility of remote logout with 6.2.X : add a forbidOverride attribute to block further merge in registry, otherwise session_login logout action will always take precedency. Fix load binary Make too short string smaller in french Add include Hook for to load and update user info Fix update template label Pass a scope string or a repository object to getFilteredOption() to test on the AJXP_REPO_SCOPE_SHARED scope if necessary. Fix typo in ENABLE_FOLDER_SHARING value testing Fix check for USER_SHARED_USERS_LIMIT on mergedRole instead of personalRole Update getFilteredOption signature Unused images - Fix #1001 Glob can return false on error, we should check before running a foreach. [action.share] Reset max download and max expiration time Fix #1004 Fix CAS button in login interface in 6.2 Add method groupExists() instead of using listChildrenGroups() as it can create a recursivity in auth.ldap. Add method groupExists() implement in serial and sql confdriver Fix loop in creation of groupPath [editor.pdfjs] Fix for IE when Pydio is inside an iFrame. [auth] When guest is enabled, make sure to invalidateLoadedRepositories() at login time, otherwise they are already in the session. Fix #1002 [gui.ajax] FilesList: add bulkUpdating mode to avoid triggering initRows() on each child_added event. [gui.ajax] Always limit search engine to 100 results by default, use bulkUpdating when parsing results, and display the total count plus a "show all" link. [index.lucene] Send a tag in results if limit is set and number of hits is cut. Compiled version of css [editor.pdfjs] Add fake file name parameter to the file url passed to pdfjs, to have a correct info in the pdfjs properties viewer. [phpversion test] Update php version to 5.4. [gui.ajax] InfoPanel : display node label instead of basename if set. Revert previous core plugins reordering issues Fix actions disabling merging [core.ajaxplorer] Update default WEBDAV_BASEURI as it was still /ajaxplorer/share. [meta.git] Remove dependency to meta.svn plugin [css] Fix contrast on history browser [action.scheduler] Create simple react dashboard for enterprise admin panel. Just trigger same ol' actions. [utils] getWorkspaceShortcutUrl use "?goto=" or "/ws-" depending on the skip_user_history status. [AuthService] Avoid error if trying to execute tryToLogUser(). Log to error though. [authfront.webftp] Fix login form not closing after successfull login. [ConfService] Use a dedicated UserAlertException to send back OAuth message and avoid removing temporary failing workspace from the list. Use it in access.dropbox driver. Update package.json versions [action.updater] Point to new update site [access.ajxp_conf] Fix strange horizontal scrolling ------------------- [Summary] Pydio 6.2.0 brings massive performance improvements, many bug fixes from previous version, and a couple of new features: * Performances: we gained an average 5 times in performance on every 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: Rework of our Linux packages from ground up, splitting plugins into separate packages, with packaging best-practice in mind. * PHP7-Ready: we chased 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. Thanks to all for making this happen! [Upgrade notes: please 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 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. For archive deployments, upgrade should be straightforward, but for Linux make sure to check our online How-To. [Detailed Change Log] Massive refactoring of AjaXplorer class into various subclasses (Registry & PydioUI). Reduce global scope pollution. Fix some destroy implementations missing the cache destruction. 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. New resources for ES6 support. Fix group listing for shared users when inside a group Enable API for load_shared_element_data Re-adapt CartManager to new API Track ajxpNode.getChildren() usage for new api (Map instead of Hash) Missing compat file server_message "require_registry_reload" More JS modules async loading to avoid loading scripts when they are not necessary IE 9 & 10 Tweaks. Not working on IE8 Add JS modules dependencies. Test file to be used with WebComponents 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. Break is unreachable code. Move loadActionsFromRegistry() Set forceReload default value Remove unnecessary images. Fix global variables Remove global delete calls - Normalize prototype class constructions Remove with calls Avoid unnecessary resources on minisite UserDashboard: do not load images as iframe. 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 Split scripts into boot, core and ui. Currently boot is compiled old fashioned way, core is compressed & mangled, ui is compressed only. Load repositories with a unique query instead of many small queries Performances: store loaded repositories in session Performance: user queriesCache for exposed properties list LangUtils : deepCopy/merge objects, forceJSON array to object. es6: fix Registry Loading es6: try using GET and pass a ws_id paramter to use http caching on repository es6: simple support for web components Connexion: switch all requests to post by default. Api: put support for file upload / download directly inside api, implement upload inside Connexion FilesList: use display flex instead of bloc if element has vertical_fit className Simple React component wrapper inside existing UI. Prefix all flexbox stuff Index.php : read tmp_repository_id variable from get or post. User Dashboard CSS: remove home_account_pane reference JS Core: es6 transpiled version Sql Log Driver: server many queries at once. New parameter frequency on analytics queries [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 PydioApi: handle discrete setting FetchedResultPane: update jsdoc Insert bundle.js in gui_debug.html Add new methods to LangUtils Admin: make main menu builder more modular Handle Alias in config menus 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. UserMetaManager: check metadata is not empty. Add a MAIL_ENCODING parameter in the phpmailer plugin to eventually switch to 7bit for old Exchange+Outlook configs. Reload_registry message: make sure to trigger only if required. This can end up in a loop. LangUtils new method for arrayWithout() index.php test SDK: remove webcomponent reference Reload_registry message: make sure to trigger only if required. This can end up in a loop. React Implementation of UserDashboardHome Adapt share action to window.actionArguments passing New AjxpReactComponent in _ui list All necessary exports React Implementation of UserDashboardHome 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 Imporved german translations of sharing function and added missing keys to all files Make sure to use Manifests: make sure to replace keywords not only on label. Detect Pydio native apps by user-agent. New function renderSimpleListAsNodes Fix updateDefaultRights (from master) New hook sec.access_ws Reset content_filter option when saving repository Avoid using class_exists() in relativeDate, it's too costly for perfs. Group fields differently Update client_unregister & client_consume channel actions 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. Use applyIncludeHook instead of applyHook otherwise it messed up registry loading. fseek: $whence parameter is not properly passed to underlying stream. S3 driver: override appendUploadedData() function as the streamWrapper does not support "a+" mode. Weird cases using ; instead of : Isolate WelcomeComponents scope We should get rid of sendSync() wherever possible. rename folder Remove modernizr & ajxp_utils from booter. Compile bundle into pydio.min.js Last compile Fix IE issues. Update package Use correct version of material-ui lib 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) Add info inside log table Check that class is properly created (could be ignored if php 5.3) Call session_write_close to speed up the queries processing Create a pool of callbacks if a file is loaded many times at the same instant, otherwise it may reload the file from cache. Fix remoteNodeProvider: empty response could end up in the node staying in _loading mode. Do not disable session for the moment inside rest. We should instead set up a $useSession flag on ConfService similarly to AuthService - TODO Add a $useSession parameter to ConfService and use in rest.php Notification: optimize queries for userExists() calls Repository: avoid error on parentTemplateObject type PluginsService & Plugin Optimizations: -> Optimize requires file -> Load class only if plugin is enabled -> Lazily unserialize XML manifest -> Cache some xpath query results 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. Expand clear_plugins_cache action to empty KVCache and eventually opcache as well. Disable many unnecessary plugins by default, avoiding to load them if not really usefull. Use $this->getXPath() instead of direct access to $this->xPath as the manifestXML may have to be loaded lazily. Disable many unnecessary plugins by default, avoiding to load them if not really usefull. Reduce DB query number for loading repository Log driver: get repository ID from context, avoid to trigger another db call. Fix es6 (using Map instead of Hash) Refactor getFilteredXMLRegistry() function Refactor clearAllCaches() function Remove actions property from AJXP_Plugin, it's useless. Second call of initActivePlugins() in rest.php seems useless. Commented, to recheck. Properly invalidate KV cache when updating user / group / role / workspace Re-enable auth.serial & conf.serial for startup Remove @internal phpdoc key Enable updateAdminRights() for the moment. TODO: we should find a way to pass through that only when required. Add constant to ignore KVCache Add $admin parameter to the countUsersForRepository function. Add iconClass and description_template to drivers client_settings XML tag. Edit meta_sources as bulk data 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 Optional option "iconClass" for userWidget Remove timer on router Pass driver label in workspaces list. Handle remote sorting when trying to guess the page position. Sync ldap group membership, filter groups from group DN Documentation authfront.cas Send PLUGINS_SCOPE to roles and users as well. Add new filters user / repository_id to the sql log queries. New function usersLastConnection on sqlLogger. New sub_action users_bulk_update_roles to avoid multiple query Use multiple selector external module New function LangUtils.objectValues() to replace Object.values() Typo in new code Fix diagram axis redraw by pointing to a specific git repo instead of official release. To be changed when PR is merged and released. Fix plugins values instance_name missing parameter. Reorganize ldap parameters Remove template workspace from the list Send query metadata PrototypeJS: do not override bind method if already native version. Parameters grouping and defaults Fix #955 - Clear selection on blur was breaking actions in user dashboard. Fix #958 - Reset Password is broken due to URL rewriting when guest user is enabled. Force string comparison for md5 checks (not used most of the cases) Exclude other tags from xss detection Fix issues in git-log when spaces in folder path. Update pdfjs to last version - Close #939 Remove all touch events management, simply disable scroller replacement when on mobile context. Should fix scrolling and button issues on mobile. Bug video reading issue with the http range Should fix #954 fix settings/leftpanel in vision theme Add react-dnd to resources Add indexes on log table Set the disclaimer validation in a group Replace 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. Save the roles ordering Pass sticky info Update default_avatar image Use no_templates & templates_only attributes to identify the scope Replace ROOT_ROLE by AJXP_GRP_/ 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. New unit tests 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. Fix issue with .zip.zip extension #953 Fix slug issue - Close #938 Better way to detect mount status Fix 5.4 syntax Remove creation of .ajxp_mount as it's not need since previous commit. Keep up-to-date with develop Grab last changes from MetaStreamWrapper branch Fix Meta.user error after refactoring Add Test Unit on Permission Mask Change permission value Delete function mergetree2 Fix available permission restriction Add more assertions permission Implements JsonSerializable() : warning this is PHP5.4 ONLY! Fix setDeny() Fix overrideMethod Init from array with "read", "write", .. object. Implements JsonSerializable, php5.4 ONLY. Store masks in roles. Manage masks Updated ajaxplorer_boot 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. Fix recursive listing broken by defaultOrderField mechanism. Fix SchemeTranslatorWrapper. Store url instead of path when reading dir. Fix PermissionMask & checks Invoke is_readable() at some places to dynamically compute permissions New method appendMetaWrapper rmdir was broken due to wrapper fix preview with unoconv of files with russian names remove some tests Fix max overriding order issue Send repo security scope to UI. Fix typo in write2 function that was preventing correct Log In logging for WebUI. 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 Use classnames module Revert ajxp_home to non-react implementation Declare build and load React bundle separately, to avoid any compatibility issues with older browsers. Root group role: do not show "ROLE_..." parameters, even if they have scope "Role". Wrong call to React library Fix AjxpTabulator layout when using Flexbox Add Roboto fontface. Fix vision & umbra theme to make them barely usable. Remove oxygen. Call isWriteable() on the root node as well, to send correct ajxp_readonly value. Missing reloadOnServerMessage on shares list Fix flex issues for minisites fix smb streamwrapper name conflict Never call the delete method of a Map directly, for backward IE compatibility. i18n update Fix splitter sizing, node insertion on descending sorting mode, remove unused variables Last booter compiler Fix startup.phtml : prototypejs moved. Booter: make set DB conf by default. Send also info about the workspaces shared with current user. Fix shares list issue - Ability for admin to list shares of a given user. Fix typo in JSON breaking the right info panel initial size. Implement Serializable on permission mask. Home Dashboard: listen to repository_list_refreshed event and reload the list. Remove the method call from the foreach() loop. Fix selectAll() action in GUI - was breaking the recycle bin empty action. Fix new Image() usage with prototype methods. Fix RepositorySelect Pass optional nodePathes on instant message to be later on filtered in channel. 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 Filter Changes, Feed and fork mask on shared folders. !!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. Commit bootstrap_context with KVCACHE_IGNORE by default. Ignore kv cache Auto-switch graph frequency to avoid super-heavy graphs. Create wizard breadcrumb. Add a "wizard mode" in FormManager for installer dialog. Rewrok the whole boot.conf installer with that. Add optional "depends" attribute on js ressource. Update prototypeJS to 1.7.3 - We should remove the legacy version. Boot.conf generates a simple server uuid that can be used for various identifier (kvcache should use it) Load JSON polyfill for IE7 New compression plugin to support TAR, TAR.GZ and TAR.BZ2 archive format Fix "Pixlr" plugin because they switch to "https" Revert the second call to initActivePlugins() in rest.php, as it can break some additional plugins loading after loading driver. Fix share action in rest mode : share worked but metadata was not correctly updated. Refactorize method(s) loadDriverRepository() Send back the updated role to make sure the update() was working. Update i18n messages in action.updater writeRepositoriesData: remove unnecessary code Definitely skip the admin rights check, just give the access to ajxp_conf Update restParameters and use UserSelection instead of 'file' variable in ShareCenter. Remove skip_admin_rights parameter Update grid-layout Update compression to new naming (pydio.Controller instead of pydio.actionBar) Update manifest.xml Fix soundManager load : do not check for registry. Imap wrapper: fix stat to make sure it responds correctly to the is_readable test. EmlViewer: remove unnecessary autoload Fix parseUrl() to detect pydio:// instead of ajxp.xx:// Do no use flexbox on dialog content Point to new MetaStreamWrapper Fix mobile flex issues Massive clean: remove IE7 specific resources plus unused classes or archived classes. Change check frequencies to 5s, replace "[]" to "array()" to avoid any problems later Fix is_readable() call to root. Fix long workspace names Fix double share button. Fix super long workspace names: limit to 3 letters for badge, fix CSS to adjust display. Update gitignore Adding Grunt task to compile core UI in gui.ajax Replace the ["extension"] to "PATHINFO_EXTENSION" and change the progress number to whole number Remove compiled resources. Update move dependencies at top level of gui.ajax. Ignore specific resources Updating Gruntfile.js Add a check if he user try to compress an empty folder to avoid some problems... Updating Gruntfile.js Update package.json Updating Gruntfile.js Move grunt to devDependencies Remove compiled files Ignore core AJXP_KEY_VALUE_CACHE Mega-merge from deprototype branch Double declaration Fix lucene indexation when copying files accross workspaces. Fix tag block removal Add meta watcher by default in access fs 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. Disable kvcaching by default. Fix some flexbox issues in IE Fix IE horizontal scroller in FetchedResultPane Fix wrong shares list for workspace with id 0 : do not use empty(). Update Italian translation for plugin 'access.ajxp_conf' Update Italian translation for plugin 'access.ajxp_home' Update Italian translation for plugin 'access.ajxp_shared' Update Italian translation for plugin 'access.ajxp_user' Italian translation for plugin 'action.antivirus' Update Italian translation for plugin 'action.cart' Italian translation for plugin 'action.compression' Fix smbclient error if filename contents '#' Translate "Root Group" Fix tests syntax: use __construct(), remove strange semi-colomn after class creation. Use __construct instead of AbstractTest constructor Use __construct instead of AbstractTest constructor Light revamping of diagnostic tool. Add dirname and filename in log table to be able to filter on these. Pass a "files" array to the log method when possible. Fork materialUI and create our own branch as we are using Less framework. Update grunt file to build materialUI before bundling. Publish permission mask as json. Inform that a workspace does have a permission mask. Code Inspection Update README.md Error when removing user from share if the workspace does not have meta.watch. Narrow-down textarea selector for submitting comment, otherwise it takes the wrong one (typically if file/folder is shared). Fix some notifications issues with shared users. Fix login dialog positioning. Pass isHidden to createUser function and send to the hook as well. Add a small opacity animation on info panel async blocs to avoid heavy blinking. PhpDocs Revert specificy parameter type as it creates false negative documentation bug. Replace run build by babel to avoid dependency to jsx Add JS compilation step to the build Test an upgrade with new dev version 6.1.0 6.1.0 Release Note Typo in column name Force updating gui.ajax if any modification detected rootGroup can be empty Update sql scripts for pg and sqlite, and build script to make sure to include them correctly. Fix with pgsql file pg and sqlite sql updates Fix postgre issues with new fields / indexes. Fix mergeNodes: use cloneNode() to avoid reference mess up. Fix BackgroundTaskManager initialisation, and make sure to read the node_diff message. Tar/gz/bz2 Support : refactor compress action into compress (server) and compress_ui (client): override the latest with the new plugin action. Fix 404 error on "plugins" image. Fix message id in span Some exception can break the search results listing. Catch it. RepositoryFilter is wrong in alert feed if repo is 0 Fix opener positioning Try to skip HTACCESS step : if AJXP_PACKAGING is not zip ( = linux packages ), or if content of the htaccess is already correct. Settings and welcome were switched. Put them in the right order to fit with dist .htaccess Forgotten console.log Chasing Strict Standard issues Limit Extract action to tar, gz and bz2 files Refactor the awful JS code for triggering download in a PydioApi.downloadSelection() method. Add the filename*= header for IE, based on mwehr suggestion. To be tested extensively. Fix js errors in comments and info panel detection. Add bootstrap.json to the list of files hidden by default. Fix php parsing error in hu.php. Probably fix #930 forgotten var_dump Unused variable Remove var_dump instruction Revert the filename*= commit. Definitely not working on IE. Fix #931 Fix de language file - Close #933 Fix EXIF extractor output for XML, and add a format parameter to ask for JSON instead. Go through unnecessary todos. Add more check on user before modifying a share. Refactor minsite_session and download management. Fix "discrete" parameter passing. Fix small Open Layer map not showing when panel is hidden. Fix setting/unsetting watch on shared folder. Fix notification grouping in alert feed. Disable logo click is use is not authorized to switch to the associated workspace ( mostly ajxp_home ). Refix IE Overflow Fix metadata breaking json when no searchable is set. Fix #973 Skip updating embed_code if link is expired (error). Rewrite getFlashVersion() function (removed from Controller) in ajxp_utils. Avoid error trying to load binary without any user logged - See #946 Make sure to filter search results with access driver hidden configurations. Missing translation for desktop notification button. Add a new parameter for low-resolution background image, and trigger it if viewport width is smaller than 600px ( => mobile ) Fix FoldersTree config for smb driver Fix wrong date in search results Fix branding styling on legacy links. Make sure to pass a variable as reference Add english message to the 17th message of the plugin Add french message to the 17th message of the plugin Add english message to the 17th message of the plugin French typo Change : Now we catch error by sending them to the progress file Plugin doc of action.compression Save share after updating watch status for folder sharing Append optional bootstrap instructions by scanning once (and caching result) the plugins folders looking for bootstrap.php files. Catching some error in the extract part Same as previous but for defining / overriding default repositories Silently try to write the two new cache files, to avoid errors if data folder is not yet writeable (first screen). Overriding CSS properties in ajxp-mobile.css to improve the navigation Adding >script< at line 819 to fix JS not interpreted Set a manager on git actions Update of widget_sample, contributed by Ecappa Whitespace breaks git log : do not use --follow option in that case (will not follow renaming). Check $ctxId is not 0 (considered empty) Clean Code Deprecated Constructors Make sure to not throw errors if data/ is not writeable, or it breaks the starting script. Wrong test for write permission Do not display RootGroup for groupAdmins Modularize installer functions. Update : the message to display the progress of the exraction is compression.13 not compression.12 Turkish translate of the name and the description of the plugin Turkish translate of the different messages of the plugin Refactor Installer Fix special characters in file name # Remove oxygen in selector. Detect El Capitan Fix imagick generate office files Fix call to filterNodeName(): pass an "" parameter will trigger the is_file() test. Fix Favicon for WebDAV, was still using the old one. 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 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 uploader.html Czech translation updated continuing as per the previous PRs opened under https://github.com/pydio/pydio-core/pull/843 uploader.html cs-dropzone png picture created manually in Gimp as similar as possible to the other one's available Recapitalize result keys for PostgreSQL Display a small how-to when upgrade is not possible in-app (because of linux packages). 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. Reorganize some gui.ajax parameters editor.pdfjs Czech translation core.uploader Czech translation Remove react-tap-event, loaded by material-ui Add support for authenticated upgrade site. Set package name in an external variable. Action.compression: fix name stripping on file / folder meta.simple_lock Czech translation created meta.git Czech translation created gui.user Czech translation 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. Add composer.json to install OpenStack SDK at last good commit before the project was declared EOL. Add some checks - Do not display plugins that are disabled. action.powerfs Czech translation action.avatar Czech translation access.demo Czech translation Make sure to use a default value on mandatory group_switch field. 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. ----------- Pydio 6.0.8 - Security Update & Bug Fixes [06.26.2015] Pydio 6.0.8 is another security update fixing XSS vulnerabilities discovered by Lane Thames and William Sörderberg. It also fixes various issues with indexation, sorting, and reverts some changes from previous version. Upgrade is straightforward and recommended, either in-app (archive deployments) or via Linux repositories (apt-get / yum). Contributors: cdujeu, Lane Thames, William Sörderberg, c12simple, DepaMarco, FireFoxIXI, Sandoracs Minor update of german translation (mainly to unify the strings) Small fixes for the german translation of access.ajxp_conf Add LDAP support. Italian translation for plugin 'meta.monitor_fs', 'mq.serial','mq.sql' and FIXED English one Italian translation for plugin 'shorten.bitly', 'shorten.multi', 'uploader.flex', 'uploader.html', 'uploader.http' Add delete button on minisite Fix meta.mount fs on 6.0.7 Reload_registry message: make sure to trigger only if required. This can end up in a loop. Mysql: Tablename may create an error when getting size and count Added minor tweaks for getting the S3 driver working with EMC ViPR Add new DIRNAME mode for sanitization, same as filenames except that it lets the / pass through. Use strpos() instead of deprecated ereg() function. Should fix #912 (alert on watch broken in some cases) Fix #919 - Disable right click in FetchedResultPane Tweaks to support "dot" character in custom links handle - Fix #905 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 (should fix #913) UserMetaManager: check metadata is not empty. (cherry picked from commit ac99bf4) Add a MAIL_ENCODING parameter in the phpmailer plugin to eventually switch to 7bit for old Exchange+Outlook configs. (cherry picked from commit 98eebeb) Perf: load repositories with a unique query instead of many small queries (cherry picked from commit c955991) Slight doc issue Italian translation for plugin 'uploader.jumploader' Italian translation for plugin 'uploader.plupload' Updated Italian translation for plugin 'core.ajaxplorer' Hide Native App download panel on Windows Phone Fix minisite login background by loading configs via JS. Clean listing code for sorting, get page_position on demand when listing unique file, fixes search results not going to correct page when pagination is on. Antivirus: make sure to do nothing when node is a folder, do not scan it! Repository Creation Time was overriden by parent repo when created for sharing. Fix 2G limitation on windows in many places ( do not use filesize directly ) Repository securityScope() : check the CONTAINER option if it exists for object-based drivers. Fix auto update via proxy revert cef1688f1e38830badefa1d147b48400cd09d7f2 Add a default sorting field and direction for server sorting. Set this params via the filesystem mixin instead of access.fs only. Fix SearchEngine template configuration issue on various remote drivers. Catch an OpenLayer error. Fix and improve various sorting aspects. Deselect everything on blur in search engine and fetchedresultpane, otherwise further click on the same item does nothing. Catch Zip decompression errors. Fix workspaces securityScope() for templates that predefine a Path (or Container) value. Make sure to not propagate a share event to a workspace parent if it's a template. -------------------- Pydio 6.0.7 Security Update Pydio 6.0.7 is a Security Update linked to vulnerabilities discovered by Lane Thames. It also fixes various small bugs. Upgrade is straightforward and recommended, either in-app (archive deployments) or via Linux repositories (apt-get / yum). Contributors: Cdujeu, Lane Thames, C12simple. SMB Auth: include domain name to user name (details) Get list of repository automatically (details) Massive refactoring of ElasticSearch plugin. Keyword search and indexed fields is working. (details) AuthService test userExist and create new (details) Add new parameter in ShareCenter to force password on public links. (details) InfoPanel: catch modifier evaluation error - CSS: hack transparent backgrounds for IE8 using \9 symbol. (details) Correct smb path string (details) ShareCenter : fix link pointing to a non-existing repository (details) ShareCenter.js: forgotten console calls (details) ShareCenter: Catch exceptions when forwarding changes, otherwise it stops the loop. (details) AjxpUtils::convertBytes : handle comma - Ajxp_VarsFilter::filter : pass an object or an id as resolve user (details) Major update of ElasticSearch implementation / Refactor some method to common parent with Lucene. (details) Check userExist to create new user for new sharing (details) Add a new dependency type phpExtension to avoid loading plugin that have a strong dependency to one or more php extensions. (details) Remove (beta) from sync clients buttons (details) ShareCenter: Fix "Preview" checkbox being automagically rechecked. Check template is not ajxp_unique_dl. (details) Start refactoring major JS resources. Split into subfolders. (details) Display admin Search Results with USER_DISPLAY_NAME (details) Webdav error on smb workspace (details) Shared user watch is not correctly removed when user is removed from "Share with..." list. (details) Improve sanitization in Mysql driver and locally in XHRUploader. (details) Limit API connection "Login" logs to one per hour, otherwise it fills the log table, and makes the analytics quite slow. (details) Better commands sanitization to limit admin rights. (details) Fix text logger: was broken due to the clone call on object: refresh the fileHandle resource on clone. (details) Fix group listing for shared users when inside a group (cherry picked from commit a9fdc8c) (details) Ability to use multiple secure_token in one session, to avoid force reload on new tab. Notify existing windows with . (details) IE8 Fixes - Fix #899 : remove tooltip when refreshing templates. (details) Make Etherpad more simple: support only .pad extensions, disable hideExtension() hook. (details) Refix c0205642045e943c086eb054f3947d5311d9997e : case is different if group listing is allowed on all groups or sub groups only. (details) Pass AJXP_VALUE_CLEAR as metadata value to force clearing key after array_merge() (details) Fix un-removed notification by checking ACL when listing the watches and updating metadata accordingly. (details) Fix Zip options tweaking, by properly separating zipBrowsingEnabled vs. zipCreationEnabled. (details) Use Dibi syntax for cross-db limit (details) Fix Jumploader not correctly sending node.change event (thus missing indexation) (details) Fix PLUploader : new way to get secure_token (details) ------------------ Pydio 6.0.6 - April 9, 2015 Pydio 6.0.6 mostly provides bugfixes and security improvements for the v6 branch, but it also adds some interesting features in the field of metadata and search engine. Upgrade is straightforward and recommended, either in-app (archive deployments) or via Linux repositories (apt-get / yum). Contributors: Cdujeu, DepaMarco, C12simple, Ellega, Kluckow, Huzergackl, Raiatea, Garnetius, Svetlemodry. Big up! ## New Features New Mozilla PDF.JS pdf viewer. New metadata type "tags" with auto-completion and special display. Rework of the SearchEngine ergonomy: better list reloading, direct access to advanced mode, better handling of advanced external metadatas. New filter action in Datagrid for logs: quick filtering on any column value. Add a button in settings to clear cache Revert the automatic switch to mysqli, which seems to create problems on some systems. ## Plugins Fixes [meta.mount] Remove type strict comparison for mount_env_passwd option. (details) [action.powerfs]PowerFS don't works if Command Line "enable" and accent (Windows OS) (details) [auth.cas] Fix cas in client mode (click two times for login) (details) [scheduler] Form validation for Schedule Task at client side (details) [scheduler] Clean scheduler actions - Fix #838 Fix french translation (run current task, not tasks) (details) [action.share] Update the plugin JavaScript code for iframe and shared file preview. (details) [access.s3] Fix setMetadata() on metastore.s3 plugin, broken for non-ascii chars, the CopySource parameter must be urlencoded. (details) [metastore.s3] Use rawurlencode instead of urlencode (details) [editor.imagick] Add Illustrator File to Image Magick (details) [editor.ckeditor] Adding a delay in CKEditor data loading seems to avoid random blank screen. (details) [auth.cyphered_post] Add a switch to active repository (details) [authfront.otp] Fix login form display in authfront.otp. (details) [editor.etherpad-lite] Big update of the Etherpad-lite integration. Seems like we cannot detect pads with no author, we would have to set up a task to clean orphan pads. Should Fix #865 Fix #867 (details) [meta.mount] Set the "use 32 result code as success" via option (default true for non-regression). Close #824 (details) [index.lucene] Better error logging when lucene fails to open or create an index. (details) [index.lucene] Lucene: detect if the tmp index is currently being modified (last 3 minutes) to avoid multiple indexation tasks loaded concurrently. (details) [index.lucene] Fix meta fields indexation issues (on node.change event). (details) [action.powerfs] Use DIRECTORY_SEPARATOR in powerfs plugin for operation_id file. (details) [mq.sql] Notifications queuing: fix SQL implementation that fails selecting the max value as the column is varchar (use sql CAST expression). Remove unnecessary create.sql scripts. (details) [core.index] Do not call is_dir on trigger node.index on the root node. It can create problems with non-fs workspaces like SMB for indexation. (details) [access.fs] Internalize setHiddenAttribute in fsAccessDriver instead of AJXP_Utils (details) [mq.sql] Feedstore: forward "reload_user_feed" event to parent repository if any. Fix i18n issues for "watch/stop watching" button Ignore notif to delete if already deleted. (details) [sync] Detect when update queries are applied on non-indexed items using getAffectedRows() (details) [sync] Automatically disable the keystore generate_auth_token action if Session Set Credentials is set in config. This will force systematic basic_auth. (details) ## Core & Performances Core performances: . AJXP_Controller: Minimize xPath calls by implementating a hookCache . AJXP_Plugin: reduce serialization - AJXP_PluginService: Try to use cache for softLoad operation (still return a cloned version of the cached plugin) . AJXP_Utils: cache the result of cleanDibiDriverParameters() function as it is called many times. (details) Fix OS detection - Add iPad & iPhone (details) RunTests: Fix apiPost function() (details) If a client is posting bad parameters, it can end up copying a file into itself. (details) Revert the automatic switch to MySQLi, add a parameter instead. (details) Perfs: avoid reapplying role if already in the user's roles. (details) Hard reload node data with clearstatcache() call on node update Add a seed with file modiftime to make sure thumbnail is reloaded on change (details) Fix comparison issue for AJXP_METADATA_ALLUSERS value. Could lead to share metadata. (details) Typo in mailer, fix #864 (details) Fix various issues with Forget Password action - Fix #863 (details) Prevent some plugins to be disabled - Close #873 (details) Add utils in node for moving meta on node change (details) Add a hook on node.change to move bookmarks metadata, should fix #870 We should refactor all the bookmarks management into a proper plugin. At the moment, moving to recycle is not considered deleted. (details) Use protocol in runTests script - Fix #871 (details) Set nodes as nonLeaf when we know it - Fix #859 (details) Add the function filterNodeName() to the AjxpWrapperProvider, and use it in the webdav collection to correctly load the hidden files/folders configurations. Alternative to fix #862 and fix #861 (details) Fix edge-case where user cannot change its starting workspace (details) Now that we need rewrite rules anyway, set the corresponding option to true by default in action.share (details) Switch TRANSMIT_CLEAR_PASS to hidden parameter (don't remove it totally for backward compatibility) - Close #875 (details) Add a getOptionAsBool() function abstractAuthDriver and use everywhere we use TRANSMIT_CLEAR_PASS. Handle all possible values (true, "true", 1, etc...). (details) Plugin : load global_param and param configs definitions (details) Do not override __AJXP_VALUE_SET__ value. Typo in AJXP_SAFE_SECRET_KEY. (details) Move decypher function in AJXP_Utils instead of AbstractAjxpUser. Do not override __AJXP_VALUE_SET__ when parsing standard form. New parameter $complexChars in generateRandomString function. (details) Unused decodeUserPassword method (use AJXP_Utils instead). (details) Use AJXP_Utils function for decyphering password (details) Make sure not to use the repositories cache if not yet initialized. (details) Meta.quota: make sure to respect hierarchy by trying to get quota of parent repository owner if it exists (can be a template child without owner), then from the currently logged user, then from the repository config. Fix #884 (details) Hunting while(!feof(..)) calls missing a test on the resource: can trigger an infinite read and a CPU hog. (details) Default "Cache Master Users" parameter to False instead of True (details) Remove meta_fields, meta_types, meta_labels from node metadata, use exposed plugins configs instead. Fix CSS labels on detailed view. (details) ## Authentications & Security Strip query string part of the url, otherwise using query like ?xdebug=true appends the query part to the base value. (details) Login: empty the fields values only after response is received. (details) Pass session credentials to command line via ENV variable. Generate a unique secret key at install for tokenisation of CLI calls instead of using default one. (details) Prefix cyphered passwords inside role parameters with a specific string. listParameters() removes prefix by default, can either keep it ($preserveCypheredPasswords) or blur passwords ($blurCypheredPasswords) by replacing with __AJXP_VALUE_SET__ value. (details) Massive changes for better handling parameters values in ajxp_conf driver. (details) Fix various buttons issues with reset password (fix #885) and handle case insensitive logins. (details) Add more logs for various "preview" operations (Imagick, Diaporama, etc) (details) Fix pruneTemporaryKeys for PostgreSql (details) FINAL_KEY is not used anymore, remove it. (details) AJXP_Utils: Make sure to remove = from base64encoded string when generating random string. (details) ## GUI In standard List mode, show additional metadata (like in v5) by hovering rows with mouse. Permanent display can be customized by CSS. Change place of "Set as default workspace" checkbox as it was no more accessible. (details) Missing fitParent creates resizing issue in IE for My Account pane. (details) Rework of the SearchEngine ergonomy: better list reloading, direct access to advanced mode, better handling of advanced external metadatas. New filters feature in FilesList to dynamic filter contents. In table mode, adds headers with input texts. In standard List mode, show additional metadata (like in v5) by hovering rows with mouse. (details) Activate the new filter action in datagrid for logs (details) Add a "filter" button using the new FilesList feature in ajxp_datagrid : applicable to logs directly. (details) Fix Search input opening when media queries are applied (details) Reset MetaSource selector after adding (to focus on the new instance). (details) Fix scroller issue (details) Fix message box blinking and style. (details) User.js Detect and log circular references Fix circular references in AjxpTabulator (init Tab with object clone). (details) Fix small glitch in PreviewFactory (details) ## Internationalisation (i18n) Update de.php (details) missing "," character in various en.php files (details) Fix workspace display when using russian language on IIS. (details) Italian translations (details) Updated german translations, fixed translation keys and made more plugins translatable (details) Pydio 6.0.5 - Bugfix Release, again This is fixing some annoying issues introduced by 6.0.4. Upgrade is recommended and simple. Changes described below. Revert "close search engine on context change" as it breaks results pane in admin (details) Move Multi & WebFTP login screen into dedicated authfront plugin, as previous fixes in AJXP_PluginsService changes the plugins loading order. (details) Prevent FTP login screen modal closing (details) Fix #847: share link with non-ascii filename on windows IIS (details) Fix scrolling issue: use a fixed scrolling step instead of a fraction, could make it hardly usable for long listings (details) Upgrade instructions In-app upgrade: automatic. Linux Packages: automatic via yum / apt-get Pydio 6.0.4 - Bugfix Release Date: March, 3rd 2015 License: Affero GPL Download: Sourceforge Project Source Code: Github Project Copyright: Abstrium SAS / Charles du Jeu 2015 Upgrade: In-app upgrade for archives installs - RPM/DEB update Contributors: Charles du Jeu, Tran The Cuong, Andypmuc, Ndeet, Flauschbaellchen - Thanks to all of you! Update de.php Fix #834 - Wrong message on group deletion CartManager is triggering the old-fashion public link Make sure to push the newly activated plugins at the end of the list. Should fix #822 Transport a contextual user ID as a node property or through the URL. Pass a contextual user to the VarsFilter::filter() function Fix shareEventsForwarding when in a personal workspace (shared events not going to parents, preventing sync for example) Performances: do not call getRole() again if role is already loaded in the loop Meta.mount: New option to delete mount point on unmount Fix #803 Open search box when clicking on magnifier. Modal: handle case where dialogTitle is positioned absolute. Modify CSS accordingly. Typo prevented shared users deletion when not logged as admin Try base64_decode for legacy - Was breaking the mp3 player in a shared minisite Fix repository exposed property, values not correctly retrieved Error in slug generation, make sure to look at the reserved slugs when building new ones Share users list: Add an option to not trigger any listing if no regexp is sent Fix error if msgExchanger is not set. Use loadNodeInfo() instead of stat in ChangesTracker, otherwise eventForwarding can end up indexing a folder as file. [index.lucene] Typo calling getUser() on wrong object Introduce an AJXP_METADATA_ALLUSERS metadata users scope to gather meta from all users. Used in eventForwarding for ShareCenter. Big refactoring to decouple meta.syncable from index.lucene: core.index is now responsible for triggering a recursive indexation and sending corresponding events. Fix #842 : API issue on IIS when in root folder. Fix inZip detection for UserSelection built without "dir" parameter. Set pydio global variable from within AjaXplorer class, not only Bootstrap (skip updating bootstrap) Consume_channel: avoid repeating query if previous query is not yet finished Make sure to unset currentIndex to trigger the __destruct function and release all handlers on files. Prevented the cleaning of the TMP index on Windows. Fix Quota computation on MacOS server The indexIsSync() feature can be triggered with bad value, creating issues in synchro Comment out debugs from authfront.keystore , too verbose. Refactor upload method to make it more readable. Fix wrong event sent after partial uploads. Translate PHP errors Move fsAccessDriver functions to its parent AbstractAccessDriver Update "Observe Storage" mechanism to make it more reliable and less frequent. Do not set default plugin value if not in meta source. Fix Analytics Dashboard for Sqlite and PostgreSQL drivers New parameter in Index.Lucene to hide the "My Shares" section Close SearchEngine on context_changed Mark a repository for REQUIRES_INDEXATION at share time. Trigger indexation if necessary when requiring changes - Fix auto-indexation on first search. Trigger events on workspace before/after create/update/delete Hook indexers (lucene & meta.syncable) to the after_delete event to clear the indexes. Sync: trigger client last_seq reset if the sequence ID is greater than the current max of the changes table. Foresee the need to vacuum the changes table. Search results are limited by max-height (ndeet) Fix Dav configuration when Server URL is set (andypmuc) Sanitize function: trim spaces only no the left, or it can break when syncing files with trailing space Secure error message on rename operations by catching the result Pydio 6.0.3 - Important Bugfix release Date: Feb, 10th 2015 License: Affero GPL Download: Sourceforge Project Source Code: Github Project Copyright: Abstrium SAS / Charles du Jeu 2015 Upgrade: In-app upgrade for archives installs - RPM/DEB update Contributors: Charles du Jeu, Tran The Cuong, Nicolas Pouliquen, DepaMarco, Elangenhan, Gerald ST, NHellFire, Anael Mobilia, Dmitri Bosenko, Jaroslav Lichtblau - Thanks to all of you! Probably found the root cause of "Ooops your language file is empty..." Admin Delegation: fix various criteria filtering and workspace listing conditions that were breaking template-created workspaces for group Admin, as well as returning wrong users count (although correct users list). Fix various customization options: logo height/width + add a class to the main element observing the current workspace slug, can be used for specific welcome, settings, etc styling. Changed action name Changed action name Added Plugin Parameters Added configuration parameters meta.user plugin translation into Czech meta.comments plugin translation into Czech core.ajaxplorer Czech translation update, as there was already something available FIX: Changed some translations to convert accented letters FIX: Some other little changes in Italian translations Fixed some little translation error FIX: Italian little fixes Italian translation for plugin 'editor.imagick' Italian translation for plugin 'editor.openlayer' Italian translation for plugin 'editor.other' Italian transtaltion for plugin 'editor.pixlr' Make sure to use the dirDefault attribute when overriding the ls action, or it can be lost by XML merging. Was breaking folder opening in guest user mode. Fix video player overlap with menu in FF and IE Fix wrong typing for settings leftpane initA value, was making the right pane disappear if folded. Fix positioning problems that could lead to the right panel totally disappearing Stop observing click after clicking on a workspace to avoid multiple loading Replace margin-top by top positioning to use window height instead of window with as reference. z-index and width fix in gui.ios Faster Loading GUI conf.sql plugin Czech translation Update ru.php access.mysql Czech translation missing "," character in access.mysql en.php file causing missing string via php2po transition Fix cpane_container positioning for minisites Update ru.php Create ru.php Update ru.php Update ru.php Update french translation Expand a simple diagnostic tool to test REST API on a given workspace. Call runTests.php?api=true to trigger. Filter the for(var k in ...) entries with hasOwnProperty() call in RoleEditor. Fixes #789 Do not include shared repositories in updateAdminRights or it can end up filing the role with tons of repos. Fix sqlite deleteRepository case - Use better error message and log SQL error. Fix #779 The return of the QRCode - Fix #783 Add an optional parameter to use a specific header value (e.g. X-Forwarder-For) instead of local detected IP in the logs. Fix #763 Do not trigger error on fopen (it is catched later). Experimental feature to monitor underlying storage changes. To be tested. access.fs: Sort filenames case insensitive Index new detected items recursively Move folder operation for s3: get all keys with prefix, copy objects to new key and delete old ones. Make sure to catch exception on S3Client->headObject calls. Could lead to NoSuchKeyException in some cases (minisites). Make sure to use minisite_session parameter in plUploader Plupload Fix Minisite-Problem Italian translation for plugin 'editor.soundmanager' Italian translation for plugin 'editor.text' Italian translation for plugin 'editor.video' Italian translation for plugin 'editor.webodf' Italian translation for plugin 'editor.zoho' Fix videos tutorial zIndex issue Fix #807 - Change language on Public minisite Error In some case it's possible to hit save on non-writeable workspace, which creates duplicates. Fix #806 UI bug, fix #796 Issue in static repository id was creating a bug in updateAdminRights, inflating admin role until DB error. Disable guest user detection for minisite. UpdateAdminRights : do not call method in foreach loop Display a new panel in My Account to manage api keys. Let this plugin active for all protocols otherwise it will not appear in web interface. Ability to manually revoke one or all keys. Hook to the new user.after_password_change event to revoke all keys automatically. New osFromUserAgent function for prettier display. Minor tweaks in core js/css Fix guest login screen Drop IE6 support (png hack, useless) Clean parameters passed to bootstrap using exposed plugin configs instead. Create aliases in window: pydio and pydioBootstrap objects: fix typo Clean legacy hard-coded gui preferences, and use get/setUserPreference method in classes. Make sure display pref is loaded at init time for FilesList, shoud fix #777 Fix "Share folder as workspaces only" parameter Re fix #777 : hidden columns were broken Little Charset bug in User Feed Italian translation for plugin 'gui.ajax' Italian translation for plugin 'gui.ios' Italian translation for plugin 'gui.light' Italian translation for plugin 'gui.mobile' Italian translation for plugin 'gui.user' Replace dibi minified by latest head to fix #610 Add autoloader for dibi and remove requires Display issue in non-writeable workspaces Performance issues with innerText usage Make sure to re-display the authorization URL in case of step 2 error. getFilteredOption() : pass an optional userObject to be used as mergeRole resolver Quota filtered Option: grab values from parent repository owner, not current user. Better response for update_user_group - Fix #725 Add IPTC support, inspired by and close #577 ZIP with SMB Access don't work Fix tree issue when domain name contains 'plus'. Manual merge & close #681 Fix #819 (missing log refresh button) and fix #820 (restore old "Copy as Text" button) Fix the way scheduler handle the "*" users to make it less consuming (not necessary to load whole user objects, jst their ID.). Always use queue mechanism. Perf issues with massive ldap directories: divide listing time by 2 Add an option to disable the bruteForce test (and thus the Captcha) New option "leavesOpenOnSelect" on search engine used in the admin panel, to avoid never-ending searching on the correct user page. Fix #814 Catch handle erros on purge operations Use background-size: cover when possible (fix #821) Fix login header in multi mode. Remove login_patch.xml that was not used anymore Fix api test script Make sure db is connected for serial-based setup that would use the DB only for indexation. Fix API Auth form some server+php configs Add the comment SetEnvIf instruction for PHP-FPM setups. When fake MemberOf enabled, depend ldap system, the member/memberUid value (attribute of group) is cn (short) or dn (full name). In general, this value is dn but in ldap of Apple, he use cn Do not set write persmission on stat_hash, or it prevents the sync of readonly workspaces Pydio 6.0.2 - Microfix for install screen Previous release fixed XML problems by xml-encoding some messages, which breaks the HTML display of the install wizard. Please see 6.0.1 for release note. Pydio 6.0.1 - Bugfix & Security Release This is a bugfix & security release for v6. Upgrade is recommended. Main bugs fixed are: White-screen on upgrade if Server URL is manually set Italian language breaking workspace creation New ldap_paged_control php functions can issue warnings on php 5.6 Fix WebDAV root listing and authentication problems on REST api. A potential vulnerability reported by Axel Hinrichs Date: Dec, 12rd 2014 License: Affero GPL Download: Sourceforge Project Source Code: Github Project Copyright: Abstrium SAS / Charles du Jeu 2014 Contributors: Charles du Jeu, Tran The Cuong, Axel Hinrichs Changelog Fix SQL. insert on update a role (improve performance only for mysql) Add script to upgrade 525 to 600 Fix ldap_paged_control issues and warnings Fix Regexp for parsing minisite_session, could break IE & FF downloads for password protected links Make sure that stream is correctly opened, otherwise it can fill the log with errors. Fix html base if set via SERVER_URL parameter Fix authentication on rest api Missing translation on the first 3 fields of the create user dialog (via sharing). Fix root listing of webdav (accessing to /shares/) Add a parameter to open workspace by simple click in the home page. Make sure to xmlEntities() the CONF_MESSAGE and MIXIN_MESSAGE values as we are inside attributes. Update share.php template Full Changelog 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 (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) 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) 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) Added encodeURIComponent() on the file path url (details) Added encodeURIComponent() on file and dir url (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) Update release note for 5.3.1 (details) Add another parameter "flatten" to get all changes or pre-flatten them server-side (details) 5.3.1 Dev release note (details) Add an ability to mkdirs in a "bulk" mode (details) Try an auto upgrade script for SQL for 5.3.1 (details) Reformat update script (details) Typo in SQL UpgradeDB step. Probably non-functionnal in 5.2.3 ! (details) Reformat update script (details) Put SQL update directly in PHP update code instead of SQL file (details) Update only if driver is Mysql (details) Send additionnal warnings before upgrading to dev version (details) Fix apache pydio.conf for RPM (details) 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) Update ru.php (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) 5.3.2 Release note (details) Add authors (details) Update release notes (details) Migrate 5.3.1 to 5.3.2 : enable ajxp_home and set it as DEFAULT_START_REPOSITORY (details) Let the admin do the work (details) Post-upgrade instructions (details) Rename apache license file, space triggers error in DEB package maker (details) Migrate S3 plugins (access.s3 & metastore.s3) to use version 2 of AWS SDK for PHP. (details) Update ru.php (details) Update ru.php (details) Update ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Use openstack-sdk-php instead of old hpcloud library for Swift connexion (details) S3: Check aws.phar and do not activate the plugin if not there. (details) Rename access.hpcloud to access.swift (details) Leave a commented line for debugging - Tested succesfully with a Ceph storage (details) Add N file attribute in smb.php parser for samba 4.1.11 support - Fix #619 (details) Update ru.php (details) Adapt index/changes tables for PostgreSQL (details) PostgreSQL version for updating log table (details) Add indexes on ajxp_index and ajxp_changes for PG Rename update scripts (details) Fix owner_user_id and child_user_id columns length for PG - close #609 (details) Dibify sql LIMIT close - Should fix #592 (details) Make sure not to send a load_repository_info request if no user is logged (necessary for vision theme). Fix #617 (details) PostgreSQL 9 may return bytea data as HEX (details) Fixes for PG (PG9) Use specific SQL comments to avoid parsing for specific sql queries. (details) Replace repositoryIsAccessible by AuthService::canAdmininistrate when editing group or role, to fix #574 (details) Make sure the node.change event is sent after patching with rsync extension (details) Display errors on share (details) Better handling of old links vs. new link - todo: ability to choose a hash for the link (details) Share fixes (details) Apply maxexpiration & maxdownload to minisite fields (details) Fix how we getPluginsConfigs() in javascript (details) Fix legacy Private Minisite (details) Fix typo that was breaking shared workspaces from old to new version (details) Set update site to https (details) Additional role for user login by cas (details) Additional role for user login by cas (details) Calculate quota in access.smb (details) Create ru.php (details) Update ru.php (details) Create ru.php (details) i18n: Part 1/2 of german mini translation sprint (details) i18n: Part 2/2 of german mini translation sprint (details) i18n, access.smb: Add german translation (details) Set a width in html to avoid resize lag in FF. (details) Buffer tree_change events to avoid multiple resize calls during reload (details) Defer home dashboard resizing (details) Fix auto_rename don't exist in POST parameters in a certain case. (details) Getting started had disappeared (details) Add a "Back to workspaces" link on the dashboard (details) Invert "List" and "Details" wordings, for EN and FR only for the moment, other translater please update! (details) Fix user_create_repository action layout for orbit (details) Fix VideoPreviewer resizing (for both thumb and editor open) when using flash fallback. (details) FF do not support innerText, was breaking tabs title update Make sure removeElements call on proto.menu deregister only current file list Load additional action on RepositorySelect widget on beforeShow event, making sure we don't call loadActionsFromRegistry twice (performances gain) -moz-user-select value "all" instead of "auto" (details) Fix video preview left margin in CSS (details) Update class.EncfsMounter.php (details) Fix error moving files between different wrapper (details) Disable addToCart action in minisite (fix #533) (details) Update class.AudioPreviewer.js (details) Update class.SMPlayer.js (details) Sharing: fix dialog reload after parameters changes (add a callback to the standard nodeReload operation). Add parameters for enabling/disabling various types of sharing New feature: Ability to manually set the hash (details) Styling and logos for various minisite templates. New "Drop files here" template for upload-enabled minisites. (details) Fix guest user case in new login flow. Guest needs to have access to home dashboard to login. Fix no active repository case. (details) Add a Rest-like behaviour on minisites access point and generate direct download links and direct preview/streaming links. Editors can implement getRESTPreviewLinks() method (details) No active repository fix (details) Add author to the Git commit command, otherwise it can prevent auto-commit (details) Set inferOptionsFromParent on shared repositories, to allow resharing if repo is already a template child. To be tested extensively. (details) SMPlayer canvas overlays button. Left it open. Cross direct download links with minisite rights (details) Fix Vision tweaks. Integrated the clickable zone in the LogoWidget (details) Create ru.php (details) Create ru.php (details) Update ru.php (details) Create ru.php (details) Enable to map any value of any ldap field to RoleID (details) Create ru.php (details) Pass GraphsViewer configs through node metadata (details) Update ru.php (details) AjxpNode optimization: do not store children in Array but in Hash. Makes parseNodes() function much more quick, as findChildByPath() was called many times. Remove disableTextSelection() calls in FileList for performances. (details) GraphsViewer: update dimple version to 2.1.0 (details) Make GraphsViewer modular. (details) Log the actual context of the Log In operation (web vs. API) (details) Cumulate same user/action consecutive logs to avoid having huge tables of "Login". Filter Web logins only in analytics (details) Fix mp3 player positioning in "open" mode. Fix mp3 playing in minisite_preview : wait for window.soundManager to be initialized. Add logs in Share Center for creating/update shares (details) Recompile without GraphsViewer file (details) More colors on blocks (details) Make update window bigger (details) Set text metadata for fake nodes (details) Update class.EncfsMounter.php (details) Creation plugin for authfront One Time Password (details) Fix bookmarklet (details) MetaComments: Fix comments inheritance when filenames are similar (e.g; doc / docx) (details) Update class.EncfsMounter.php (details) Fix clickable zone in the LogoWidget and customization (details) Update class.ShareCenter.php (details) Expose editorOpener via a getter (details) Let the GraphsViewer display a fullscreen button (details) Simple Editor for spreadsheet-like data, can display one or more FetchedResultPane in list mode (details) Fix list mode table header styling (details) FetchedResultPane: pass a label for rootNode via options Use new DataGrid editor for logs viewers (details) Disable component_config when Notifications are disabled - Fix #623 (details) Revert previous calls to ob_flush (@c12simple), this breaks output capturing for postProcessing (typically shorten) (details) Repository filtering in shares list for old-school links (details) Fix META_SOURCES options inheritance for parent/child workspaces: new AJXP_AbstractMetaSource abstract class from which all meta/index/metastore plugins must extend. Typical case is updating the quota on a workspace and seeing shared folders correctly updated. (details) Creation plugin for authfront One Time Password (details) tryToLogUser pass $httpVars argument as reference (details) Better handle of no repository or user locked case (details) Basic Disclaimer plugin - still need to find a way to apply specific lock value to a given set of users (details) Apply lock value on group of users via role or group : map the ajxp.lock to a role parameter. (details) Delete Google2FA.php (details) Update class.OTP_LoginForm.js (details) Update manifest.xml (details) Update class.OtpAuthFrontend.php (details) Fix null user getLock at startup (details) ShareCenter: small typo (davi.png -> favi.png) (details) New method getFilteredRepositoryOption to be used in the access wrappers to dynamically update path/host/domain, etc. (details) Login form: detect data-ajxpLoginAdditionalParameters fields Use this for OTP form: display an additional field for OTP code. (details) Basic plugin for implementing dual-factor auth using DuoSecurity service. (details) Fix formatting (details) Package DuoSecurity modified SDK version Monitor the POST form and submit it "manually" using Connexion object. (details) New util function userAgentIsNativePydioApp() (details) Update doc for authfront.duosecurity (details) Use php INTL extension if present to translate monthes to correct language. Declare locale to be used inside the core language files. (details) Small fixes for no-sql drivers (details) ActivityMonitor: cap the intervalue by max 32bit integer to avoid GUI hanging if php session.gc_maxlifetime is too big. Should fix #639 (details) Fix the way htaccess are structured inside data folder: make data forbidden by default, and allow data/public/ only, instead of forbidding all the others one by one. Close #635 (details) Buffer modal refreshDialogPosition() to avoid box flashing (details) Fix installer glitches and translations (details) Change tutorial look'n'feel. Use youtube thumbnail service to display thumb before playing videos. (details) Strengthen meta.mount security by passing the password via environment variable instead of the command line. Still an optional parameter as upgrading will require changing sudo file as well. (details) Fix search engine advanced mode search broken (details) SearchEngine: fix advanced filtering layout Welcome page: declare the videos_pane through an action instead of a template. (details) Missing indexes in postgre ajxp_user_rights (details) Create a 5.3.4 version for updating from stable to dev branch (details) New action test_upgrade_scripts to ease production (details) DB upgrade was actually broken in stable, so perform the upgrade directly via PHP script, not sql files. (details) Home videos pane and badges styling (details) Detect public mode (minisite) and alter default repository description to avoid displaying owner id. (details) Fix listRepositoriesWithCriteria impl (details) Do not die() on checkHash or it can break listing with legacy stuff Set editable hash by default (details) Fix legacy link unshare operation (details) Better legend for legacy links (details) Make sure .htaccess tpl is applied if installed at document root (details) 5.3.4 upgrade : update htaccess files if possible, update ROOT_ROLE with access to ajxp_home and set it as default workspace. (details) Fix Desktop full screen button - Fix settings panel button positioning (details) Small enhancements of analytics dashboard (details) New hook applied when preloading boot conf (details) Clean logos management removing hardcoded version and putting dedicated ones inside theme. Fix LogoWidget to use default value for image. (details) Define title and description for major plugin types, for a better display in Settings panel (details) Custom logo defaults (details) Fix buttons align in ajxp_conf (details) AjxpPane: ability to pass a preset config for background images (details) Fix parameters orders (details) Typo in sql query (details) PhpDoc (details) Upgrade root role after update (details) Use br instead of newline for post-update script (details) Fix external links to applications (details) Fix duplicates when listing users in groups (details) Fix breadcrumb in Settings panel (details) Add recursive parameter in all list / count users function to fix display bug in users listing (details) Make sure super admin is never locked out. Role overriding seemed in the wrong order for shared users, to be verified (details) Refix jumploader, seems like previous fix for access.smb had broken access.fs ... (details) Fix #629: false negative alert when moving a file to another workspace with same folder path (details) Rework LogoWidget to take a parameter for the image (plugin.id/parameter_name), and adapt the various minisite templates. We should clean all this awfull css. (details) Correct bootstrap_context.php (details) CSS: make alerts display lighter (details) Better css styling for Settings pane tree. (details) Update minisite role with new actions (details) Logo sizing in minisite IE / share this page links (details) Upgrade script: AJXP_VERSION should still be set to the previous version, so we can detect upgrade from stable or not. (details) Log requests to track why login sometime fails to reload registry (details) Fix minisite logo padding (details) Upgrade script: AJXP_VERSION should still be set to the previous version, so we can detect upgrade from stable or not. (details) Update release note for 5.3.3 (details) Manual SQL scripts for linux package updates (details) Reference to the script (details) Typo in release note (details) Replace hi-res images for sharing template (details) Refix share link (details) Fix #645: thumbnail generation for JPEG images fail with latest PHP version (details) Custom logo management was breaking password-protected minisites (details) Tilde in filename is breaking auth due to the PHP rawurlencode() not encoding them following RFC3986 (details) Update plugin_doc.html (details) Fixed: Yubikey-Auth is working again (details) Fix tabbed editor unnecessary border (details) Update ru.php (details) Update ru.php (details) Update ru.php (details) Update ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Update ru.php (details) Create ru.php (details) access.ajxp_conf expanded and revised (details) revised german translation (details) access.ajxp_shared improve grammar (details) access.ajxp_user rebase (details) access.fs german translation (details) access.sftp german translation (details) access.webdav german translation (details) action.avatar german translation (details) Create files for german translation (details) Expansion of the german translation (details) German translation correction (details) Fix query that was broken in fullscreen mode (details) Update JS interface IAxjpNodeProvider and all its implementation with missing method. (details) Sanitize file name in WebODF plugin (details) Update SabreDAV to 1.8.10 (details) Update ru.php (details) Update ru.php (details) Update ru.php (details) Update ru.php (details) Update ru.php (details) German tanslatin (details) Update ru.php (details) Update ru.php (details) Create ru.php (details) Create ru.php (details) Update ru.php (details) Create ru.php (details) Create ru.php (details) Update ru.php (details) Update ru.php (details) Create ru.php (details) Update ru.php (details) Optionally pass a defaultSortColumn in FetchedResultPane, use it in AjxpDataGridEditor (details) Update ru.php (details) Fix graphsViewer resizing issue for IE (details) revert (details) Eventually force a secure token through session, can be used to sub-call the ui for PDF generation (details) Add Italian translation for plugin 'auth.phpbb' (details) Italian translation for plugin 'auth.radius' (details) Italian translation for plugin 'auth.remote' (details) Fix isWriteable function (details) Fix rename() (details) Test that exif_read_data exists in PThumb orientation functions. Added a startup test to suggest installing this PHP extension. Fix #664 (details) Update phpCAS version 1.3 stable (details) Fix domain separator. User decide to use / or \ (details) Handle multiple selection in InfoPanel : display simple elements previews, plus the standard action bar inc. Download button. Fix #653 (details) Decorate "Click here" (details) Restore folding of the right ("info") panel. And thus restore Download and Share actions in the right-click menu. Added an optional foldingMinSize to splitter to keep a different minSize in unfolded mode. Fix #656 (details) Fix logout button (details) Fix logout button (details) Rename Dashboard to "My Account", more intuitive. Fix #655 (details) Fix Resource not Allowed error in webodf frame (details) Better widget detroy (guiActions and focusables were not cleanly deregistered). TODO: check legacy themes, the FilesList actions have moved from default to id-actions actionbargroup. (details) Update class.CAS_LoginForm.js (details) Save Expand state - Fix #669 (details) Fix WebODF file sanitization (details) Fix URL Shorteners - Tested with Bit.ly service - Fix #649 (details) Pixlr have changed their domain to apps.pixlr.com - Fix #500 (details) Fix InfoPanel scroller Display a "locate" button near to the small map Geolocation Fix race bug of edition by NOT selecting new nodes if a modal is currently running. Fix #225 (details) Manual merge of #600 (details) Fix #654 (details) Update french translation (harmonization & quality) (details) Update class.CAS_LoginForm.js (details) Update manifest.xml (details) Update class.CasAuthFrontend.php (details) Update class.CAS_LoginForm.js (details) Fix GraphsViewer resizing issues. There's a deeper D3 issue to be fixed. (details) Last compile with prototype update (details) Fix #486 (details) Update french translation (harmonization & quality) (details) Update CONTRIBUTING.md (details) Fix errors in FilesList action naming. userExists function: make sure to translate to integer the SQL result, can create problems with sqlite. (details) Optionally pass a LEGEND to replace the default chart legend indicating "All" (details) modify log function (details) Added DWG icons (details) Typo (minor) (details) Typo (minor) (details) Update french translation (harmonization & quality) (details) Clean-up for Thumbs.db files (minor) (details) Update french translation (harmonization & quality) (details) ajxp -> pydio (french translation) (details) Fix graphics resize on FF (details) Italian translation for plugin 'auth.remote_ajxp' (details) Italian translation for plugin 'auth.serial' (details) Italian translation for plugin 'auth.smb' (details) Italian translation for plugin 'auth.sql' (details) Italian translation for plugin 'boot.conf' (details) Italian translation for plugin 'conf.serial' (details) Italian translation for plugin 'conf.sql' (details) FIX English translations for plugins 'auth.sql' and 'conf.sql' (details) FIX some other English translations (details) Updated Italian translation for plugin 'core.ajaxplorer' (details) Updated Italian translation for plugin 'core.ajaxplorer' (2) (details) Added Italian translation for plugin 'core.auth' (details) Map/filter role_id with ldap multi-value attribute (details) Copy operation was wrongly handled by ChangesTracker (details) Pass "Range" headers to the stat_hash action to get a partial hash of a file. Used for resumed downloads (details) Add partial_upload support (in conjunction with appendo_urlencoded_part) for resuming uploads (details) Clean unnecessary comment (details) Clean unnecessary comment (details) Php doc (details) Create nl.php (details) Update nl.php (details) Create nl.php (details) Update nl.php (details) Update manifest.xml (details) Fix wrong test creating false positive - should be ported to master branch... (details) Fix s3 wrapper old "nullifying stat" code. Was breaking file_exists() on directory (and thus directory sharing). Should fix #679 (details) Create nl.php (details) Update nl.php (details) Remove the html content template on mkfile action - could be eventually replaced by a generic templating mechanism (details) Set additional parameter on mkfile to force overriding existing file (details) Fix previous translations problems. Warning, DO NOT USE escaped quotes in conf translations, as they are breaking XML when reinserted in manifests parameters! (details) Update nl.php (details) Do not trigger a recursive indexation by default, pass a specific parameter (details) Fix Orbit theme potential resizing problem when resize is called before CSS is applied. (details) Totally replace old proto.history by Backbone router - Wire router to current context node path (details) Fix Shares edition in user and admin dashboard: legacy shares were broken - disable "Update" button, leave only invite & stop active. Fix #648 (details) Ajxp_conf does not support atomic refresh - Fix #682 (details) Fix password change look - Close #673 (details) Should fix #678 (details) Fix S3 driver to load underlying wrappers during detectStreamWrapper (details) Fix router for root folder (details) Fix usage of document href with # in it. (details) Add user / group identifier in listing - Close #479 (details) Fix display in workspace admin. Introduce a new component to make pretty select boxes (Chosen). Fix #628 tooltips not replicated. (details) Work on responsiveness & web mobile (details) Add some styling on pydio buttons on Etherpad. (details) Add an option to disable address book in user account panel (details) Avoid js error on logout (new router side effect) (details) Fix translation problem (german string inside en files!) (details) Fix modal resizing issue (details) Update image (details) Fix errors induced by the FilesList actions "actionBar" renaming (from default to id-actions) (details) Forgotten to parent method (details) Typo in new Exif test - Fix #686 (details) Do not display update button for metadata is repository is read-only (details) Sanitize and lowercase custom share handle (details) Fix addressbook/teams tab ordering Fix Webdav pane display and scrolling Basic implementation of Teams handling: add / remove users with auto-completion. To be finished. (details) Fix CKEditor: hash in URL was breaking the load, set the CKEDITOR_BASEPATH manually (details) Fix CKEditor: hash in URL was breaking the load, set the CKEDITOR_BASEPATH manually (details) Fix goTo: if current context is already the correct one, unnecessary to go to it. If isLeaf but browsable archive, still go to folder content. (details) Fix selectbox padding for FF (details) Shake effect on login error Fix loading folder old blue icon in orbit Fix team edition (details) Update i18n (details) Fix Share reload in user dashboard (losing group sorting) Populate countries list with a json file (new json_file: prefix for choices parameter) Fix FF search result displaying no result. Last compile (details) Fix Diaporama Left / Right arrows and disabled buttons state. (details) Loading optimization: add a #NO_MINI has in the css or js lists to avoid minification when it's not possible, but still put all css in one unique file. Should fix #687 by the way (details) move chosen resources (details) Fix IE dashboard sizing (details) Adapt gui_debug.html for css placement. Close #687 (details) Serialized php must be stored as bytea in PGSql - close #680 (details) My Account: disabling WebDav pane was disabling Team Pane as well, use a finer XPath. (details) Fix mailer testing - Missing description on boot.conf plugin (details) Commit release notes for 5.3.4 (details) Add Italian translation for plugin 'core.conf' (details) Italian translation for plugin 'core.mailer' (details) Italian translation for plugin 'core.notifications' (details) Italian translation for plugin 'core.uploaders' (details) Italian translation for plugin 'cypher.encfs' (details) Italian translation for plugin 'editor.ajxp_datagrid' (details) Italian translation for plugin 'editor.ajxp_graphs' (details) Italian translation for plugin 'editor.ajxp_plugin' (details) Update ru.php (details) Pass an optional limit parameter to the Lucene search query. Add search-as-you-type behaviour on the search engine, using this limit. (details) Massive performance gains on start up, by loading some libraries asynchronously and reporting to later some other. Connexion.loadLibrary() can no be used async, ResourcesManager.loadJSResource should be able as well. Use a contextChange clientListener to avoid auto-loading of AjxpMailer.js class. We should definitely hunt the autoload JS files and provide alternative strategies whenever possible. Theme can declare not using the loader Progress Bar if it's not necessary. Modal triggers events instead of calling window implicit objects. Rework background color and loading overlay on Orbit theme. (details) Defer loading of AjxpMqObserver and NotificationCenter JS classes. This could have some side-effects. (details) Fix #700 - Consecutive events on node not correctly updated (details) Create ru.php (details) Add a parameter for secure websocket, close #697 (details) Test if gzopen64 function exists for some versions of PHP compiled with large files support. Fix #690 (details) Do not purge the expired links automatically anymore. Instead, display a clear indication to the user. Better error display when loading an expired or invalid link. Fix #696 (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Create ru.php (details) Update ru.php (details) Chasing JS implicit variable declarations (details) Use http_class instead of HttpClient to enable SSL remote download. Fix #693 (details) Referring to $mess variable (details) Chasing JS errors again (details) Remove upgrade from 3.2.4 functions (details) Variable naming conflict (details) Massive JS code clean (details) Keep on chasing JS codestyle errors. (details) Fix #701 (details) Fix #708: Do not send tab update event inside infoPanel. (details) Fix #705: Chosen CSS does not support minification as is. (details) Update manifest.xml (details) Fix activity monitor on automatic logout: extra-long opacity effect was in raising CPU usage Fix home dashboard blocks width (details) Deport directoryUsage compute inside the drivers. Currently implemented for fs and S3. Fix #698 Ability to use a per-user bucket name in S3. (details) Fix mailto field with 0 height (details) AllAjxpDraggables unload event can create problem (details) Fix various usability issues around password-protected minisites. (details) Switch installer form submission to POST (details) Fix QuotaComputer deprecated method call. Fix layout chooser not appearing in some cases. Replace update button icon (use save) (details) Exclude download_all action from S3 driver (does not support folder DL) (details) create fakeMemberOf for openldap and enable map memberOf to roleID with prefix (details) PHP 5.4+ ldap controle paged result (details) ldap cache number of user in ldap for performance (details) Enable listing user role and group (details) Modify perameters name and enable roles/group directory listing (details) Cache ldap user number in a file (details) Build fake memberOf attribute base on value passed by parameter (member or memberUid) (details) Add new action on BrowserOpener to create a bookmark directly. Todo add nice icon for .url and .website files (details) Search user in ldap by using multi-attribute value (details) Generalize the usage of Roles for user_list_authorized_users and sharing. (details) Extension and icon for .url and .website files (details) cut off dashboard,ws-*,welcome... from ClientUrl in phpCAS (details) Handle URL= case in windows-generated weblinks (details) Rewire the pushState router, by always passing a REBASE parameter. Fix associated video URL. (details) Add a delay before loading path from router, Fix #710 Language handling on share link errors Set a max width on the home badges Load main CSS before main JS. (details) Change debian doc files (details) Fix doc link (details) Failing symlink (details) Remove rm INSTALL.txt rule (details) Add some php extensions in dependencies. Close #598 (details) Change Depends and Recommends (details) Backup compatibility: Domain/ or domain\ or domain without slash. Default is / (details) Backward compatibility: Domain/ or domain\ or domain without slash. Default is / (details) Change and trigger docker to rebuilt (details) Update Dockerfile (details) go to welcome page after authentication on CAS (details) Update class.AbstractConfDriver.php (details) Unescape val column of ajxp_user_prefs when using postgresql (details) update user list by command: action name=cli_update_user_list (details) Add selection on listing Role by user roles or all roles Hide prefix on role/group label (details) val unescaped with dibi::unescape is unusuable, use db decoding instead (details) revert: go to welcome page after authentication on CAS (details) Update Client.php (details) Bypass authfont.cas for authentication on minisite (details) New plugin to use a third party DB with custom schema as an readonly auth backend. (details) Expand mixins to support SQLServer for custom auth (only!). Some resources must first be created before one can use mssql driver. (details) Update dibi version to 2.2 (details) Update Dockerfile (details) Restore function was broken by previous JS lints (details) Fix some resizing problems Fix double parsing of JS file (close #712) Fix share expiration indication on date (details) Update share dialog: > Fold sections for a better readabilities > Ability to set a custom_handle at link creation (not edition only), to ease migration from old links. (details) Refire the master object resize() event to make sure fix various fitHeightToBottom problems. Should fix #709 Adapt FoldersTree in ajxp_conf to fit non-null parent. (details) Map memberof to role with role label (without prefix) (details) move cli_list_user action to ajxp_conf (details) map ldap group to roleId with role label without prefix (correct) (details) Wrong xml namespace commited in new plugin (details) Hide modal if router is triggered Remove usage of deprecated attribute nodeValue Detect if modal is already open and append message in that case. Fix #718 Fix various mobile problems: settings panel, reenable close left pane button, welcome page push global_toolbar to the top to make sure the user menu is accessible (details) Adapt close pane button for orbit (details) ShareStore: make sure to check if sqlSupported before using $this->confStorage (details) Missing event when creating folder through jumploader [previous commit] update htaccess to make sure json is served with mime type application/json (details) Create ru.php (details) Fix various mobile browser behaviours (details) Test variable as resource before exec ldap_control_paged_result_response (details) Fix issues with Vision theme (details) Do not utf8 decode variables that are to be stored in DB, just file names and pathes. Should fix #493 (details) cut off pydi uri for service url when authenticate via CAS (details) Wrong driver name (details) Add PDO support for custom dibi driver. (details) Undefined external users number. Better lineheight for this widget. Fix #717 (details) Api is not sending the default success message. Fix #715 (details) Remove old html attributes from BODY tag - Close #689 (details) Add CHARACTER SET utf8 COLLATE utf8_unicode_ci to all tables creation in MySQL. (details) Remove old html attributes from BODY tag - Close #689 (details) Many small JS and CSS fixes, focusing on minisite in mobile mode (details) Name repo with accent not supported (details) New authfrond.cyphered auth frontend plugin to pass credentials at first call using an encrypted token. (details) Fix a weird case were updateAdminRights() can actually trigger the repository list loading BEFORE user is stored in the session, and create an empty repository list. (details) Charset bug on Windows OS if accent in setting "path" for a new repository (details) Mount command may return 32 error codes (already mounted) and this was interpreted as a false negative. -c (details) Add progress bar class for display in cli (details) Fix sharing panel and basic display issues in Umbra theme (yes) Add JSON mime type in htaccess.tpl, otherwise countries list is not correctly loaded Fix issue: tabulator was no more registered as editor opener. (details) Add progression display on CLI mode when update user from LDAP (details) Fix spelling mistake (details) introduce an "util" function to hide file or folder for Win OS (details) Fix add progress bar class for display in cli (details) Fix fix Add progress bar class for display in cli (details) RoleLabel (details) Fix update role label (details) Simplify share layout (details) Fix list by label or role (cut off prefix) (details) DB: check existence before update/insert action (details) Update YouTube videos IDs (details) Wire major contentTypeProviders (audio, jpg thumbs, imagick, video) for REST api. Remove deprecated comments at the beginning of rest.php. (details) Update Italian translation for plugin 'action.share' (details) Add Italian translation for plugin 'editor.ajxp_repository' (details) Do not user after/before insertion for ajxp_desktop, otherwise elements are not correctly removed. Fix #726 (details) Massive APIs documentation and update. (details) Pass a version string to PydioSdkGenerator (details) sql query correction (details) Fix Sql query (details) Fix rebase regexp + code clean (details) Fix updateAdminRights + code cleaning (details) Fix the way we list repositories for a user ACL. (details) fix SQL query when update role (details) fix SQL. insert on update a role (improve performance only for mysql) (details) Fix automatic switching to first tab when saving user/role/groups.. in admin Fix "auto apply to..." box behaviour, using Chosen and a dedicated button (no auto-reload) Fix editors baseUrl using the BASE element href value. Do not use groupByData in admin panel search engine (otherwise displays N/A) Remove old code $$('select').show in modal, should fix #728 Better looking UserWidget. Avatar was not displaying if not displayName set. Fix meta.exif location button in InfoPanel (details) Admin search engine was getting the shared children of every results (for users), thus returning useless results. Change AuthService::listUsers() to not load children if query is not really paginated ( offset or limit different from -1). (details) Update chosen placeholder (details) Fix updateAdminRights Display a deprecation message on no-db install. (details) Fix 5.3 language error (details) Fix Share With My Group - Fix Internal Users Count when repository is shared with whole roles. (details) Fix LogoWidget background positioning (details) Italian translation for plugin 'editor.ajxp_role' (details) Italian translation for plugin 'editor.audio' (details) Italian translation for plugin 'editor.browser' (details) Italian translation for plugin 'editor.ckeditor' (details) Italian translation for plugin 'editor.codemirror' (details) FIX: Update Italian translation for 'editor.ajxp_role' (see commit #886f361) (details) Italian translation for plugin 'editor.codepress' (details) Italian translation for plugin 'editor.diaporama' (details) Italian translation for plugin 'editor.eml' (details) Italian translation for plugin 'editor.etherpad' (details) Italian translation for plugin 'editor.exif' (details) Refix LogoWidget (details) webdav check repository disable webdav capacity (details) Fix create template dialog height. (details) Update user meta plugin: > Fix sorting for selector based field > Add ability to bulk-edit metadata for many nodes. (details) Forgot console.log (details) Fix wrong usage of AJXP_WEBDAV_DISABLED option on repository. (details) Fix versioning actionBar color (details) Fix Top Bar image width in IE (details) Build files for 6.0 (details) Update release notes for package testing (still TODO) (details) Update Dockerfile (details) Update Dockerfile (details) Add a simple ajxp_version table in DB to keep DB build number Optionaly set the version info inside a PHP file instead of text file to optimize loading (can be opcached, not the text version) (details) Register pre/post scripts for each step of the upgrade (details) Strings synchronized to the syntax in other plugins (details) New translation (details) Typo in postgreSQL updateRole (%b instead of %bin) (details) New strings (details) Removed hardcoded strings to allow localisation (details) Translation updated (details) Translation updated (details) Revert "introduce an "util" function to hide file or folder for Win OS" (details) New strings (details) New strings (details) Removed hardcoded strings to allow localisation (details) introduce an "util" function to hide file or folder for Win OS (details) Handle new VERSION.php file and new DB_VERSION variable (details) Translation updated (details) Typo fixed (details) Typo fixed (details) Typo fixed (details) Default Role prefix is null (for compatibility) (details) Typo fixed (details) SQL for 6.0.0 upgrade (details) Default Role prefix is null (for compatibility) (details) Lower Hi-Res photos size and remove unused. (details) Backward compatibility for old Publiclets and background image Refine the various share templates layouts. (details) Typo everywhere in the Sqlite Triggers schemas. (details) Add apache license for CAS plugin (details) Pydio 6 beta2 (5.3.4) - Dev Release This is yet another development release, on the road to stability for v6. A massive bugfix and translation update for previous dev release. Thanks to all testers and contributors! Upgrading is available on dev channel from both last dev release (5.3.3) and last stable release (5.2.5): upgrading from v5.2.5 stable should be done in a staging environment only, but would it be helpful to test it and report us feedbacks about migration process. Date: Oct, 31st 2014 License: Affero GPL Copyright: Charles du Jeu 2014 Upgrade: No-upgrade available yet from stable branch, please deploy separately. In-app upgrade from previous dev branch Contributors: c12simple, cdujeu, Ellega, parski, martinshaible, ikho, DutchCloud4Work, DepaMarco, AnaelMobilia, mtskar, Vorlif, Nold360, rmxcc Upgrade Process Archive-based installs (zip/tar.gz): First switch the "Update Engine" channel (in the plugin options) to the "Development" channel. From 5.3.3 (dev) : automatic with in-app upgrade, only files are impacted. From 5.2.5 (stable) : automatic with in-app upgrade. HOWEVER, make sure to backup both your DB and your files. Linux packages (deb/rpm) Package is available in the testing channel for both repositories. Database migration is not performed automatically, please use this script to manually upgrade your DB. Bugs Fixed Added encodeURIComponent() on file and dir url (details) Update class.AudioPreviewer.js (details) Update class.SMPlayer.js (details) Fix #645: thumbnail generation for JPEG images fail with latest PHP version (details) Tilde in filename is breaking auth due to the PHP rawurlencode() not encoding them following RFC3986 (details) Update plugin_doc.html (details) Fixed: Yubikey-Auth is working again (details) Fix tabbed editor unnecessary border (details) Create ru.php (details) access.ajxp_conf expanded and revised (details) revised german translation (details) access.ajxp_shared improve grammar (details) access.ajxp_user rebase (details) access.fs german translation (details) access.sftp german translation (details) access.webdav german translation (details) action.avatar german translation (details) Create files for german translation (details) Expansion of the german translation (details) German translation correction (details) Fix query that was broken in fullscreen mode (details) Update JS interface IAxjpNodeProvider and all its implementation with missing method. (details) Sanitize file name in WebODF plugin (details) Update SabreDAV to 1.8.10 (details) Update ru.php (details) German tanslatin (details) Optionally pass a defaultSortColumn in FetchedResultPane, use it in AjxpDataGridEditor (details) Update ru.php (details) Fix graphsViewer resizing issue for IE (details) revert (details) Eventually force a secure token through session, can be used to sub-call the ui for PDF generation (details) Add Italian translation for plugin 'auth.phpbb' (details) Italian translation for plugin 'auth.radius' (details) Italian translation for plugin 'auth.remote' (details) Fix isWriteable function (details) Fix rename() (details) Test that exif_read_data exists in PThumb orientation functions. Added a startup test to suggest installing this PHP extension. Fix #664 (details) Update phpCAS version 1.3 stable (details) Fix domain separator. User decide to use / or \ (details) Handle multiple selection in InfoPanel : display simple elements previews, plus the standard action bar inc. Download button. Fix #653 (details) Decorate "Click here" (details) Restore folding of the right ("info") panel. And thus restore Download and Share actions in the right-click menu. Added an optional foldingMinSize to splitter to keep a different minSize in unfolded mode. Fix #656 (details) Fix logout button (details) Rename Dashboard to "My Account", more intuitive. Fix #655 (details) Fix Resource not Allowed error in webodf frame (details) Better widget detroy (guiActions and focusables were not cleanly deregistered). TODO: check legacy themes, the FilesList actions have moved from default to id-actions actionbargroup. (details) Update class.CAS_LoginForm.js (details) Save Expand state - Fix #669 (details) Fix WebODF file sanitization (details) Fix URL Shorteners - Tested with Bit.ly service - Fix #649 (details) Pixlr have changed their domain to apps.pixlr.com - Fix #500 (details) Fix InfoPanel scroller Display a "locate" button near to the small map Geolocation Fix race bug of edition by NOT selecting new nodes if a modal is currently running. Fix #225 (details) Manual merge of #600 (details) Fix #654 (details) Update french translation (harmonization & quality) (details) Update class.CAS_LoginForm.js (details) Update manifest.xml (details) Update class.CasAuthFrontend.php (details) Update class.CAS_LoginForm.js (details) Fix GraphsViewer resizing issues. There's a deeper D3 issue to be fixed. (details) Last compile with prototype update (details) Fix #486 (details) Update french translation (harmonization & quality) (details) Update CONTRIBUTING.md (details) Fix errors in FilesList action naming. userExists function: make sure to translate to integer the SQL result, can create problems with sqlite. (details) Optionally pass a LEGEND to replace the default chart legend indicating "All" (details) modify log function (details) Typo (minor) (details) Typo (minor) (details) Update french translation (harmonization & quality) (details) Clean-up for Thumbs.db files (minor) (details) Update french translation (harmonization & quality) (details) ajxp -> pydio (french translation) (details) Fix graphics resize on FF (details) Italian translation for plugin 'conf.sql' (details) FIX English translations for plugins 'auth.sql' and 'conf.sql' (details) FIX some other English translations (details) Updated Italian translation for plugin 'core.ajaxplorer' (details) Added Italian translation for plugin 'core.auth' (details) Map/filter role_id with ldap multi-value attribute (details) Copy operation was wrongly handled by ChangesTracker (details) Pass "Range" headers to the stat_hash action to get a partial hash of a file. Used for resumed downloads (details) Add partial_upload support (in conjunction with appendo_urlencoded_part) for resuming uploads (details) Clean unnecessary comment (details) Php doc (details) Update nl.php (details) Update manifest.xml (details) Fix wrong test creating false positive - should be ported to master branch... (details) Fix s3 wrapper old "nullifying stat" code. Was breaking file_exists() on directory (and thus directory sharing). Should fix #679 (details) Create nl.php (details) Update nl.php (details) Remove the html content template on mkfile action - could be eventually replaced by a generic templating mechanism (details) Set additional parameter on mkfile to force overriding existing file (details) Fix previous translations problems. Warning, DO NOT USE escaped quotes in conf translations, as they are breaking XML when reinserted in manifests parameters! (details) Update nl.php (details) Do not trigger a recursive indexation by default, pass a specific parameter (details) Fix Orbit theme potential resizing problem when resize is called before CSS is applied. (details) Totally replace old proto.history by Backbone router - Wire router to current context node path (details) Fix Shares edition in user and admin dashboard: legacy shares were broken - disable "Update" button, leave only invite & stop active. Fix #648 (details) Ajxp_conf does not support atomic refresh - Fix #682 (details) Fix password change look - Close #673 (details) Should fix #678 (details) Fix S3 driver to load underlying wrappers during detectStreamWrapper (details) Fix router for root folder (details) Fix usage of document href with # in it. (details) Add user / group identifier in listing - Close #479 (details) Fix display in workspace admin. Introduce a new component to make pretty select boxes (Chosen). Fix #628 tooltips not replicated. (details) Work on responsiveness & web mobile (details) Add some styling on pydio buttons on Etherpad. (details) Add an option to disable address book in user account panel (details) Avoid js error on logout (new router side effect) (details) Fix translation problem (german string inside en files!) (details) Fix modal resizing issue (details) Update image (details) Fix errors induced by the FilesList actions "actionBar" renaming (from default to id-actions) (details) Forgotten to parent method (details) Typo in new Exif test - Fix #686 (details) Do not display update button for metadata is repository is read-only (details) Sanitize and lowercase custom share handle (details) Fix addressbook/teams tab ordering Fix Webdav pane display and scrolling Basic implementation of Teams handling: add / remove users with auto-completion. To be finished. (details) Fix CKEditor: hash in URL was breaking the load, set the CKEDITOR_BASEPATH manually (details) Fix CKEditor: hash in URL was breaking the load, set the CKEDITOR_BASEPATH manually (details) Fix goTo: if current context is already the correct one, unnecessary to go to it. If isLeaf but browsable archive, still go to folder content. (details) Fix selectbox padding for FF (details) Shake effect on login error Fix loading folder old blue icon in orbit Fix team edition (details) Update i18n (details) Fix Share reload in user dashboard (losing group sorting) Populate countries list with a json file (new json_file: prefix for choices parameter) Fix FF search result displaying no result. Last compile (details) Fix Diaporama Left / Right arrows and disabled buttons state. (details) Loading optimization: add a #NO_MINI has in the css or js lists to avoid minification when it's not possible, but still put all css in one unique file. Should fix #687 by the way (details) move chosen resources (details) Fix IE dashboard sizing (details) Adapt gui_debug.html for css placement. Close #687 (details) Serialized php must be stored as bytea in PGSql - close #680 (details) My Account: disabling WebDav pane was disabling Team Pane as well, use a finer XPath. (details) Fix mailer testing - Missing description on boot.conf plugin (details) -- Pydio 5.3.3 Release Note This is a development release, but it is already pretty stable, and hopefully next one will be final. Upgrading is available on dev channel from both last dev release (5.3.2) and last stable release (5.2.3): upgrading from v5.2.3 stable should be done in a staging environment only, but would it be helpful to test it and report us feedbacks about migration process. Date: Sept, 20th 2014 License: Affero GPL Copyright: Charles du Jeu 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, C. Biamont, P. Lundin [Summary] New orbit theme stabilisation - JS perfs optimizations Object backends drivers upgrades : - S3: Use more recent AWS SDK version for S3, make the plugin more flexible to easily speak with S3-compatible storages. Tested on Ceph storage. - Swift: Replaced deprecated access.hpcloud by access.swift using openstack-sdk-php library Extended new GraphViewer editor for logs analytics dashboard Stabilisation of the new sharing engine 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 Added PostgreSQL & Sqlite support for new indexation features (req. by sync) Security: - Transformed auth.otp into an authfront, thus working with any auth backend. - New plugin auth.duosecurity. - New plugin for validating a disclaimer before using the platform [still exp.] - Strengthen meta.mount security - by Christian Biamont & Patrik Lundin New translations (italian, russian, german) by DepaMarco, Matsimon and Mtskar [Upgrade Process] - Archive installations (zip/tar.gz) First switch the "Update Engine" channel (in the plugin options) to the "Development" channel. From 5.3.2 (dev) : automatic with in-app upgrade, only files are impacted. From 5.2.3 (stable) : automatic with in-app upgrade. HOWEVER, make sure to backup both your DB and your files. - Linux packages (deb/rpm) Package is available in the testing channel for both repositories. Database migration is not performed automatically, please use this script to manually upgrade your DB. REMARK ABOUT SHARING: Old share links will be still active, but user will have to migrate them manually. As the new ones allow to manually set the final hash of the link, users will have to stop public links, recreate them, and change the hash. [Known Issues] The new theme is not yet fully optimized for mobile devices, and not at all supported by IE8 and earlier User dashboard sometimes need some manual resizing to have all panel appear. >> See github repository to see the list of existing issues and help us resolve them! Rewrite rules in Htaccess files are to be "translated" for other webservers (nginx, IIS). Again, contribs welcome! [Changelog] Update ru.php Migrate S3 plugins (access.s3 & metastore.s3) to use version 2 of AWS SDK for PHP. Use openstack-sdk-php instead of old hpcloud library for Swift connexion S3: Check aws.phar and do not activate the plugin if not there. Rename access.hpcloud to access.swift Leave a commented line for debugging - Tested succesfully with a Ceph storage Add N file attribute in smb.php parser for samba 4.1.11 support - Fix #619 Update ru.php Adapt index/changes tables for PostgreSQL PostgreSQL version for updating log table Add indexes on ajxp_index and ajxp_changes for PG Rename update scripts Fix owner_user_id and child_user_id columns length for PG - close #609 Dibify sql LIMIT close - Should fix #592 Make sure not to send a load_repository_info request if no user is logged (necessary for vision theme). Fix #617 PostgreSQL 9 may return bytea data as HEX Fixes for PG (PG9) Use specific SQL comments to avoid parsing for specific sql queries. Replace repositoryIsAccessible by AuthService::canAdmininistrate when editing group or role, to fix #574 Make sure the node.change event is sent after patching with rsync extension Display errors on share Better handling of old links vs. new link - todo: ability to choose a hash for the link Share fixes Apply maxexpiration & maxdownload to minisite fields Fix how we getPluginsConfigs() in javascript Fix legacy Private Minisite Fix typo that was breaking shared workspaces from old to new version Set update site to https Additional role for user login by cas Additional role for user login by cas Calculate quota in access.smb Create ru.php i18n: Part 1/2 of german mini translation sprint i18n: Part 2/2 of german mini translation sprint i18n, access.smb: Add german translation Set a width in html to avoid resize lag in FF. Buffer tree_change events to avoid multiple resize calls during reload Defer home dashboard resizing Fix auto_rename don't exist in POST parameters in a certain case. Getting started had disappeared Add a "Back to workspaces" link on the dashboard Invert "List" and "Details" wordings, for EN and FR only for the moment, other translater please update! Fix user_create_repository action layout for orbit Fix VideoPreviewer resizing (for both thumb and editor open) when using flash fallback. FF do not support innerText, was breaking tabs title update Make sure removeElements call on proto.menu deregister only current file list Load additional action on RepositorySelect widget on beforeShow event, making sure we don't call loadActionsFromRegistry twice (performances gain) -moz-user-select value "all" instead of "auto" Fix video preview left margin in CSS Update class.EncfsMounter.php Fix error moving files between different wrapper Disable addToCart action in minisite (fix #533) Sharing: fix dialog reload after parameters changes (add a callback to the standard nodeReload operation). Add parameters for enabling/disabling various types of sharing New feature: Ability to manually set the hash Styling and logos for various minisite templates. New "Drop files here" template for upload-enabled minisites. Fix guest user case in new login flow. Guest needs to have access to home dashboard to login. Fix no active repository case. Add a Rest-like behaviour on minisites access point and generate direct download links and direct preview/streaming links. Editors can implement getRESTPreviewLinks() method No active repository fix Add author to the Git commit command, otherwise it can prevent auto-commit Set inferOptionsFromParent on shared repositories, to allow resharing if repo is already a template child. To be tested extensively. SMPlayer canvas overlays button. Left it open. Cross direct download links with minisite rights Fix Vision tweaks. Integrated the clickable zone in the LogoWidget Enable to map any value of any ldap field to RoleID Pass GraphsViewer configs through node metadata Update ru.php AjxpNode optimization: do not store children in Array but in Hash. Makes parseNodes() function much more quick, as findChildByPath() was called many times. Remove disableTextSelection() calls in FileList for performances. GraphsViewer: update dimple version to 2.1.0 Make GraphsViewer modular. Log the actual context of the Log In operation (web vs. API) Cumulate same user/action consecutive logs to avoid having huge tables of "Login". Filter Web logins only in analytics Fix mp3 player positioning in "open" mode. Fix mp3 playing in minisite_preview : wait for window.soundManager to be initialized. Add logs in Share Center for creating/update shares Recompile without GraphsViewer file More colors on blocks Make update window bigger Set text metadata for fake nodes Update class.EncfsMounter.php Creation plugin for authfront One Time Password Fix bookmarklet MetaComments: Fix comments inheritance when filenames are similar (e.g; doc / docx) Update class.EncfsMounter.php Fix clickable zone in the LogoWidget and customization Update class.ShareCenter.php Expose editorOpener via a getter Let the GraphsViewer display a fullscreen button Simple Editor for spreadsheet-like data, can display one or more FetchedResultPane in list mode Fix list mode table header styling FetchedResultPane: pass a label for rootNode via options Use new DataGrid editor for logs viewers Disable component_config when Notifications are disabled - Fix #623 Revert previous calls to ob_flush (@c12simple), this breaks output capturing for postProcessing (typically shorten) Repository filtering in shares list for old-school links Fix META_SOURCES options inheritance for parent/child workspaces: new AJXP_AbstractMetaSource abstract class from which all meta/index/metastore plugins must extend. Typical case is updating the quota on a workspace and seeing shared folders correctly updated. Creation plugin for authfront One Time Password tryToLogUser pass $httpVars argument as reference Better handle of no repository or user locked case Basic Disclaimer plugin - still need to find a way to apply specific lock value to a given set of users Apply lock value on group of users via role or group : map the ajxp.lock to a role parameter. Delete Google2FA.php Update class.OTP_LoginForm.js Update manifest.xml Update class.OtpAuthFrontend.php Fix null user getLock at startup ShareCenter: small typo (davi.png -> favi.png) New method getFilteredRepositoryOption to be used in the access wrappers to dynamically update path/host/domain, etc. Login form: detect data-ajxpLoginAdditionalParameters fields Use this for OTP form: display an additional field for OTP code. Basic plugin for implementing dual-factor auth using DuoSecurity service. Fix formatting Package DuoSecurity modified SDK version Monitor the POST form and submit it "manually" using Connexion object. New util function userAgentIsNativePydioApp() Update doc for authfront.duosecurity Use php INTL extension if present to translate monthes to correct language. Declare locale to be used inside the core language files. Small fixes for no-sql drivers ActivityMonitor: cap the intervalue by max 32bit integer to avoid GUI hanging if php session.gc_maxlifetime is too big. Should fix #639 Fix the way htaccess are structured inside data folder: make data forbidden by default, and allow data/public/ only, instead of forbidding all the others one by one. Close #635 Buffer modal refreshDialogPosition() to avoid box flashing Fix installer glitches and translations Change tutorial look'n'feel. Use youtube thumbnail service to display thumb before playing videos. Strengthen meta.mount security by passing the password via environment variable instead of the command line. Still an optional parameter as upgrading will require changing sudo file as well. Fix search engine advanced mode search broken SearchEngine: fix advanced filtering layout Welcome page: declare the videos_pane through an action instead of a template. Missing indexes in postgre ajxp_user_rights Create a 5.3.4 version for updating from stable to dev branch New action test_upgrade_scripts to ease production DB upgrade was actually broken in stable, so perform the upgrade directly via PHP script, not sql files. Home videos pane and badges styling Detect public mode (minisite) and alter default repository description to avoid displaying owner id. Fix listRepositoriesWithCriteria impl Do not die() on checkHash or it can break listing with legacy stuff Set editable hash by default Fix legacy link unshare operation Better legend for legacy links Make sure .htaccess tpl is applied if installed at document root 5.3.4 upgrade : update htaccess files if possible, update ROOT_ROLE with access to ajxp_home and set it as default workspace. Fix Desktop full screen button - Fix settings panel button positioning Small enhancements of analytics dashboard New hook applied when preloading boot conf Clean logos management removing hardcoded version and putting dedicated ones inside theme. Fix LogoWidget to use default value for image. Define title and description for major plugin types, for a better display in Settings panel Custom logo defaults Fix buttons align in ajxp_conf AjxpPane: ability to pass a preset config for background images Fix parameters orders Typo in sql query PhpDoc Upgrade root role after update Use br instead of newline for post-update script Fix external links to applications Fix duplicates when listing users in groups Fix breadcrumb in Settings panel Add recursive parameter in all list / count users function to fix display bug in users listing Make sure super admin is never locked out. Role overriding seemed in the wrong order for shared users, to be verified Refix jumploader, seems like previous fix for access.smb had broken access.fs ... Fix #629: false negative alert when moving a file to another workspace with same folder path Rework LogoWidget to take a parameter for the image (plugin.id/parameter_name), and adapt the various minisite templates. We should clean all this awfull css. Correct bootstrap_context.php CSS: make alerts display lighter Better css styling for Settings pane tree. Update minisite role with new actions Logo sizing in minisite IE / share this page links Upgrade script: AJXP_VERSION should still be set to the previous version, so we can detect upgrade from stable or not. Log requests to track why login sometime fails to reload registry Fix minisite logo padding Pydio 5.3.2 Release Note 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 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 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 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) -- 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. License: Affero GPL Copyright: Charles du Jeu 2014 Demo: https://demo.pyd.io/ Date: 20th, March 2014 Contributors: cdujeu, ellega Update README.md (details) Command smbclient if Windows OS (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) 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) Add an option to fix #195 : force all emails to be sent by a unique adress (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) Meta.exif : ignore UndefinedTag: key (details) WS selector: visually show that element was selected (details) Fix simple tabs, fix #373 date modified sorts wrong (details) Defer registry building when initiating repository driver. (details) Default folder / mime_empty images in preview factory (details) Exclude mime shared_* for "Share" and "To selection cart" actions, to avoid having them appear in user dashboard. (details) Clear user selection before switching repository (details) Correct metadata expression (details) Order WS list in dashboard fix #484 (details) Goto shortcut and default_start_repository were colliding (details) Missing message in group creation / deletion (details) Conf.sql : deleting a group was deleting all groups with the same prefix! (details) Fix PowerFS + Download All in minisite combination (details) Installer style and messaging (details) Path to jumploader archive changed on their website. (details) Last compile (details) Update plupload plugin to support their version 2.1 (details) Refix powerfs cmd building (details) Fix problems with specific values when saving roles parameters. (details) Make share button transparent (details) Fix openlayer "Fullscreen" button (details) Fix notification when it's pointing to Root. (details) Integrate new video (iOS device) (details) Add optional filters for users counting (e.g parent or admin) (details) -- Pydio 5.2.2 Release Note This is a bugfix and security release, upgrade is recommended. License: Affero GPL Copyright: Charles du Jeu 2014 Demo: https://demo.pyd.io/ Date: 22nd, Feb 2014 Contributors: cdujeu Meta.syncable : Make sure to clear stat cache (details) Fix wrong autocompleter limit - there was a useless min() call. Fix #463 (details) Fix #461 > hardcoded "localhost" (details) Little CSS fix for Metadata in advanced search filter (details) Revert how CROSSUSERS_ALLGROUPS_* options were applied by default, otherwise would create strange situations for group sub-admins Refix reserved roles appearing in admin even when not in DEBUG MODE AbstractUser now implements AjxpGroupPathProvider, to be checkable by canAdministrate(). Add checks throughout the ajxp_conf driver Fix ajxp_role editor for #457 (details) Update font awesome to 3.2.1 (details) Insert videos in a new tab of the dashboard. Yet to be "modularized" (details) Rework dashboard design. Add a new tab for "Getting Started" (details) Fix editor.text & editor.codemirror for various focused fields to disable key bindings. Fix #462 (details) Compile Ellega's last commit (details) Pclzip: revert a problematic commit for Windows OS. (details) Default language was a bit broken in download pages. Security fix. (details) Fix FormManager password-create field for IE8 Switch spinner to spinKit double-bounce (details) Access.smb - enhancement and fix if Windows OS (details) Fix user-defined metadata: fix #431 (quotes in long text), fix choices, remove "comments feed" it's a dedicated plugin. (details) Remove -strip option on imagick, use -flatten instead, otherwise background is black on resize. (details) Regexp2like function must stripslashes previously escaped chars (via preg_quote). Fix #437 (details) Missing restParams to activate the REST api on some actions (details) Typo: pointing to CHMOD instead of CHMOD_VALUE, applying chmod failed for files. (details) Pydio 5.2.1 Release Note This is a bugfix release for small issues introduced in last major release, upgrade is recommended. License: Affero GPL Copyright: Charles du Jeu 2014 Demo: https://demo.pyd.io/ Date: 7th, Feb 2014 Contributors: cdujeu Update README.md (details) Base work for direct monitoring of the filesystem using watchdog (details) Make sure $driver is not empty when loading node info, can lead to a stuck interface (details) Filter repositories labels (details) API Documentation update for fsActions (details) Massive update of serverCallbacks SdkGenerator class to generate Swagger-compatible JSON description of the API. #WIP - http://swagger.wordnik.com/ (details) Basic testing by prepending a repository id to the api "paths" (details) Change AJXP_APPLICATION_TITLE to PYDIO_APP_TITLE to avoid replacement by standard varsFilter, otherwise it can trigger unexpected XML problems. (details) Fix i18n switch at user login - list was emptied. (details) Mozilla events for end of animation are all lowercase. Search Engine was not correctly triggering background jobs (indexation...) Fix wrong XML by not closing Tree if indexation launched with inner_apply parameter Let read only users trigger the "index" action on a workspace All this is a start for #435 - Indexation still not triggered from parent WS in shared WS. More complex here. (details) The return of magicDequote (details) Useless pass-by-reference in fromPostedFilename() function (details) Get base instead of document.location.href if the tag is defined. Should fix #433 (details) Correct the boolean handling (details) Fix #444: multiple CKEditor instances (details) Make sure to handle the "BASE" tag instead of document.location.href, should be an util function - Fix 404 for opening images in external window. (details) Fix #450 (details) Fix #447 Minisites deleted from user dashboard are not correctly removed. (details) Fix #335 downloading with powerFS from left pane Fix #432 disable powerfs plugin when in share link download context (details) Configure user dashboard logo Fix old "ajaxplorer" mention Fix download_all action overriding the download keyboard shortcut (details) Fix Chrome 32 drag'n'drop bug - Close #426 (details) Dist: make sure to clear i18n cache after rpm/deb update. Update AJXP_PACKAGING variable for deb packages to avoid in-app upgrade. (details) Fix external mailer button in folder sharing (details) Fix #452 (details) -------- Pydio 5.2.0 Release Note This is a major stable release, upgrade is recommended. Please read below the detail of the changes. License: Affero GPL Copyright: Charles du Jeu 2014 Demo: https://demo.pyd.io/ Date: 21st, January 2014 Contributors: cdujeu, echampet, chusopr, joubertredrat, BlackLionPT, warhawk3407, andypmuc, Afterster, Ellega, TheLexus, terminal-addict, cfoellman, millsdude, bitstrings, thomasfrivold Main new features Tab-based editors: open editors in tabbed navigation, to work on many files at once. New user Dashboard: displaying all personal parameters and custom data. Faceted search: search files and folders by date, extension, date range, metadata, etc. Sharing & emails Update ShareCenter to create multiple links on a given file and associate an arbitrary tag data. Add QRCode on shared links Add an HTML layout for the emails, and pass a "main link" either by argument or from the main node of the notification Ability to create personal contacts lists ("teams") Add ENABLE_FOLDER_SHARING option in action.share, defaulting to true Optional limit for number of shared users creation Expand the Shared User creation form to fill user email, full name, send an email, etc. Add a parameter to force old-school external email Add a parameter to allow new users creation while sharing (true by default). Use AutoCompleter for AjxpMailer Send users_only in list_authorized_users to avoid retrieving groups. GUI Performances Quicker start Customize dialogbox with a className. Use CSS animation when possible to make it lighter Fix ResourcesManager : was loading css multiple times Performance Hunting: divided by 3,5 the display of long list of files. Todo: monitor for side-effects Minisite: remove the inlineToolbar, it creates big performances problems, we have to find an alternative for that in the mobile GUI as well. Plugins Comments feed Rework metadata modifiers and Meta.user plugin. Implement a custom SelectBox choice. Should replace and close #255. Selection cart and save search advanced. Add avatar plugins (Gravatar and Libravatar) Relayout admin dashboard Simple implementation of WebODF viewer. Only as viewer for the moment, we have to get a way to send back the modif in a standard manner, probably by replacing the Runtime implementation. Add plugin auth.radius Add YOURLS shortener, with optional IDN support Rework AJXP_Logger - expose all log levels - accept a variable number of argument Add PostgreSQL database support Improvements and API Changes Make sure to show controls on video when opened in editor. Shared users: inherit parent personalRole if the parameter is marked as inherit. Allow administrators to disable WebDAV on individual repositories. This is necessary for repositories that depend on session credentials because clients such as Windows default WebDAV do not use sessions. Implement WebDAV Basic authentication the same way as Digest. FS: Pass __AJXP_ZIP_FLAT__ to makeZip function to force all files to be at level 0 Fix tabulator et splitter resizing issues Download Cart. Use FeedStore instead of MetaStore to have recursive meta. Could be expanded to a more generic SQL-based metastore. Impl #259 : if windows OS , alternative unoconv call. Add office templates to Imagick support. Rework "regexp" in listUsersPaginated / getUsersCount in class.sqlAuthDriver.php Now "^a" matches everything that start with a "a$" matches everything that end with a "^a$" matches exactly a (wasn't working) "a" matches everything that contains a (was matching exactly a) Use HTML base tag instead of the previous complicated "travel_path_to_root" mechanism... New access point for managing users self-service operations (currently reset password) Make custom sort function to make sure users are sorted (fix #279) New variable InputFilter::SANITIZE_FILENAME, to be less restrictive on the allowed characters than InputFilter::SANITIZE_HTML_STRICT. Particularly, allow commas in filename. Login: trim username and password to avoid trailing and ending white space problems Better API for get_my_feed. Ability to force recycle_bin creation in workspace share Add node.share.create hooks Add user.before_disconnect and user.after_disconnect hooks Optionally attach a link to LogoWidget or RepositorySimpleLabel via ajxpOptions. Fix minisite: > Display workspace description > Do not display label/description if no user logged. API CHANGE: switch to nodes[] query parameters instead of file_0, file_1, file_2, etc. Unique "file" is still allowed though. Fix dblclick on IE10 and IE11, tested on WIN7 and 8 Add a stat_hash action to extend standard stat with the file hash. Repository switch and loading optimization: avoid loading all available repository when we already know the repository ID. Should have a great impact on REST-based access, typically WebDAV. New meta.syncable plugin keep tracks of all changes with a global revision number (inspired by couchdb mechanism) Meta.filehasher: Add an optional caching mechanism to the full XML tree Change how uploader.html depends on uploader.flex, should impact plugins ordering, but not activation. Move copy operations into AbstractAccessDriver to factorize normal and cross-repository copies. Enable cross-repository copy for folders. To be tested extensively. Strengthen again the security level of zoho plugin. Could be circumvented if people did not change their secret key. Add two new parameters to the ls action, only playing for recursive case: max_depth and max_nodes. If activated ( = recursion is cut before the end), the folder nodes have a new property ajxp_has_children = true|false to decide whether client must recurse again or not. Add an optional parameter for ZIP filenames encoding at creation. CP437 is a working value for Windows, but then archive is incorrect on mac... The best we can do to fix #10 LDAP: use ldap_sort instead of a custom sorter Fix filter differing in count and list users Fix groups listing - user object update when filter is empty Add a parameter in LDAP to search users by another attribute Check regexp on userId or userLabel ConfCenter: New parameter: get users from all groups (search them), and display whole list. ShareCenter: Sticking to userExists("write") is creating a local user instead of getting it from master auth. Revert previous commit disabling users creation: add a parameter instead CACHE_MASTER_USERS_TO_SLAVE, set to true by default for backward compat. In DEBUG mode, display stack trace in errors Bugfixes Correct editor.openlayer i18n files Correct access.wms i18n files Allow log plugins to handle variable number of \t Add logging functions to AJXP_Plugin class / put plugin id as log prefix Avoid group creation without action. Fix code style Refix remote sorting that was broken. Implement it in FS for paginated case (standard attributes only, not metadata) Avoid fatal error if a meta plugin does not implement the initMeta method. Fix dead link to the F.A.Q. concerning the server charset encoding check warning Move metadata along. Remove exit() instruction Fix zoho Declare new attribute Css update Last compile IE fixes Rebranding fix shortcut for open_with Fix applied hooks in FTP driver, were sending "file deleted" instead of "file created"... Fix code style Fix #293 Fix size after full screen Save tabulator state and Cart Manager state. Reloading is not totally working. Fix editors Do no reinvent dibi (use (%s)) Delete from [ajxp_user_rights] only for the current user (add [login] in where clause) Also use more dibi (use (%s)) Change serial_role type to bytea for PostgreSQL (table ajxp_roles) Force an archive name for downloading multiple nodes. Fix floating "No Results Found" in the search engine. Pipe search and download actions by using nodes selections to download a whole search result at once. Update class.FilesystemMounter.php Hook to correct resize event Fix new node not removed correctly. Do not set node selected if current context is not its parent. Serialized data can contain null bytes, store them in blob New functions in to be implemented by conf plugins (save/load/clearTemporaryKey, pruneTemporaryKeys) Override GUI parameters by setting session key. Fix wrong initialization of splitter Add "pydio" as default identifier for log.syslog Don't limit log messages size (use TEXT for params column) Update Modernizr, current version seems to create problems on some IE9 Refix remote sorting that was broken. Implement it in FS for paginated case (standard attributes only, not metadata) Fix dead link to the F.A.Q. concerning the server charset encoding check warning Fix in_array() error in ldap driver Deport authorization check in the nodeleaf put() method. Commit RewriteBase with htaccess set to / Fix #310, missing short form tpl for rename notification Correct insertion_date in conf.sql/create.pgsql Update class.SvnManager.php Fix sharing / Mailer / autocomplete Fix json_data case for the create_repository action Fix #309 Implement #291 Fix #331 Should fix #308 - We now use index_path dedicated column Fix IE10/11 problems (close #318), plus IE8 problems. Fix close modal by ESC key that was broken. Replace default_repository parameter by a real role/group/user parameter. Fix old-school uploader for IE (Send button did not appear) Fix #332: Error when renaming on Windows. Fix #249, #250, #252 - @Ellega can you verify ? Test also for X_ACCELREDIRECT parameter to disable the zip automatic deletion. Auth.remote cms_functions: when looking for the hidden files, make sure to use ".//" to search only below the current node. ajxp_users.login must be in GROUP BY clause (Correct PostgreSQL error) Auth.remote: test if ajxp_gluecode_updateRole function exists to avoid errors if the glueCode is inserted many times. Remove compat.php Fix #285 again Editor.browser: go through the various mime detectors while the result is octet-stream. Office docs should have the correct mimetype. New invisibleBar, and autoFoldOnEvent options on Splitter New tabsTips option on Tabulator Fix simpleTooltip positioning and style Rework layout here and there, implements the new behaviours, still to be tested and validated. Fix destroy and various components glitches. Move Search box to the global toolbar in admin mode. Clean destroy() of ActionsToolbar Don't use More in admin - Small button for list and bookmarks Missing CHMOD application on directories when applying recursive copy. Update auth.remote plugin, seems wp can create problems with wordpress_test_cookie missing. Do not use UserSelection->initFromHttpVars() without arguments, otherwise it breaks while in the CLI context. Add log when sharing file (in writePubliclet) Don't check for date_default_timezone_*, we're using php 5.3+ Don't check for filter_var, we're using php 5.3+ Remove SystemTextEncoding::magicDequote, magic_quotes are deprecated in php 5.3 and removed in 5.4 Adapt buttons to appear only in scheduler zone MCRYPT_MODE_ECB doesn't require an IV Repository Editor Adapt showSimpleModal for legacy IE Display users as list to keep hierarchy Indexation: do not use set_time_limit if already CLI context Do not set transparency on left tab. Close notifications after opening. Make sure we don't have false positive for old user migrations, otherwise it can end up overriding the role To be retested extensively, use ConfService::switchUserToActiveRepository() in the cmd.php scripts to replace old code. Notifications: make the goto button more accessible. Display teams at the right place Separate comments only by one BR Unnecessary return instruction. Don't trigger upload if drop does not have "files". Fix various refresh / focus problems, TAB navigation was broken. Define InfoPanelExtension for "ajxp_root_node" mime, used only on the root node. If none is define, we use "no_selection" instead. Use fontawesome for overlay icons Switch icon-star to icon-bookmark Search Engine Advanced panel i18n - Fix result positioning Disable focus on form edition. Fix textarea and image input styling Change various default settings Add format=json parameter to the Share action for backward compatibility Fix serverUrl detection Lower the poller frequency value from 5 to 15 Fix default share folder for RPM install (cherry picked from commit 3243d70) Performances: do not trigger load() in storageExists() if not necessary filterUsersByGroup: is_array() security check Typo when catching exception in logger Wrong notification sent during copy Fix #358, #359, #360 Fix #354 pgsql: IF NOT EXISTS is only supported since PostgreSQL 9.1 try/cactch on repository switch Update XSD Fix rename just after creation, detect where to "switchCurrentLabelToEdition" Correct typo in AbstractLogDriver Small typo in class.phpmailer-lite.php Correct typo in class.cmsmsAuthDriver.php Typo in test.ServerEncoding.php session_unset() doesn't take arguments AJXP_Utils::getRemoteContent take only 1 argument encoding is a parameter of Zend_Search_Lucene_Field::Keyword, not $privateDoc->addField listUsers() doesn't take parameters in remoteAuthDriver Replace $HTTP_HOST with $_SERVER["SERVER_NAME"] Fix post-upload hooks: make sure to send node UPDATED instead of CREATED if was already there. Make sure the rest API point is working on root. Name sdk methods for search and searchByKeyword return AJXP_Utils::saveSerialFile is misleading and useless $error isn't defined and used Replace $REMOTE_HOST with $_SERVER["REMOTE_ADDR"] Fix some specific installs problems with libxml and "external entity load" erros. getUniqueFile() doesn't take args Small typos in phpCAS lib typo in websocket.server.php typos in phpCAS lib Declare restParams for move and rename Close #371 Switch to scrutinizer-ci.com Manually define columns list to avoid NULL node_id (nulled by the left join) porting rhs/centos script to gluster/debian Fix copy permission: can copy from one ro ws to another but not inside it. Sanitize user name at creation in user_create_user Updated access.sftp_psl Fix sorting problems when not in list mode. Close #363 Add parameter for sendmail path Fix #356 Fix typo access.sftp_psl Fix #355 Fix #356 Mq manager was breaking the "guest" access. Other usersDisabled() tracking Do not override the _isRoot property in replaceBy. Do not filter out rootNode from selection, but explicitely enableRoot on actions, download only for the moment. Fix #370 (5.1.0 regression) Avoid checking MetaWatch on parent if node is already root Avoid unnecessary DB calls to get repository by Id Optionaly set the unique button to 'close' when opening modal Should fix #376 : catch exception instead of testing result Fix #377 Fix #374 Fix #342 Source editor was broken in modal mode + detect BASE tag if defined to recompute correct URLS in minisite. Missing log when opening a file via the Editor (FileMimeSender) Fix #341 : force init core.log plugin if self::$loggerInstance is not yet defined. Fix tabs and scrolling issues in RepositoryEditor Make sure to disableShortcutsOnForm when replicating rows Fix #260 manually: put full Imagick options in the Parameters, for both Thumbs and Image Should fix #384 Remove deprecated notify.phpmail-lite Updated access.sftp_psl (phpseclib build-524) Make sure file or folder exists before sharing. Short hash with numbers only can be interpreted as integer and checkHash send false negative. Fix IE11 XPath not working correctly, probably because node is stored in a property in-between. Fix #386 make sure to encode filename in VideoPreviewer Fix #261 Make sure to type the session_timeout and client_timeout correctly Make sure to send the correct image header, even for 0-length file. Fix #60 - Replace # and ? before calling parse_url() Make sure CREATE is defined, otherwise it make a DB error on workspace creation. Use AJXP_Utils::safeParseUrl() Change dependencies parsing to allow access.AJXP_STREAM_PROVIDER|something.else Fix #390 Dropbox plugin. Missing one item each time Remove user name / password, it's useless. Store tokens in a per-user file. Conf.sql:make sure to transform repository create options to integer, to avoid DB error Ajxp_conf: resplit create ws and create tpl as two separate buttons, not a menu. Remove console.log Fix the checkboxes when editing templates Fix how UID is extracted for FTP driver Use | in active plugin dependency Auto switch to list tab on context change, thus do not trigger reloadDataNode() to avoid auto switch to list tab. Prefix an icon to the PluginEditor Fix typo in SSL indication Escape user label before sending in XML Ignore set_magic_quotes_runtime (deprecated) Replace EncodeQ function by the latest phpmailer version. We should probably totally switch to this mailer. Optionally pass images to be attached in the layout. Make sure textareas are readonly Add PostgreSQL to install choices Handle multiple line SQL requests for tables creation. Styling harmonization Readapt for mobile tablets Update core plugins HTML documentation Do not "autoFoldOnEvent" if unfolded from main button, just when unfolded from the tabs. Fix Dropbox plugin in sharing cases, retrieve the correct oauth tokens Let the editor.zoho be active in access.ajxp_user, to be sure the img_library is loaded. For the moment, disable users autocompleter for existing private minisite. Fix #398 has_password wrongly reported Fix #407, openssl_pkey_new may fail if openssl.cnf is not correctly setup (particularly on Windows). Update log.sql Update create.pgsql Fix strpos empty in checkPassword Add role_update_right for API access Add ShareCenter::isShared($ajxpNode) to test if a node is shared Add PURGE_AFTER_SOFT option preg_replace(): The /e modifier is deprecated in PHP5.5 Fix #404 Fix #392, by adding PRE and POST callbacks to PclZip skipSecureToken actions were not taken into accounts in external files. Disable at last native autocompletion on share dialog, by removing name attribute. Styling of the Minisite, customize Logo Always sanitize user names as InputFilter::SANITIZE_EMAILCHARS Users dashboard, revert styling of FetchedResultPane, was ugly. To be improved still. Detect if minisite logo is a binary or a real filepath Fix log.sql for ipv6 logging Add a paddingBottom when FilesList is in gridMode, to avoid hiding last line with scrollbar, fix #172 Fix #394 Fix #411 Make sure to search include path before requiring Yubico.php Exclude radius from php_hhvm Rework global toolbar menus Should Fix #412 Email : $from field not correctly passed to inner implementation Installer internationalization. scrutinizer: exclude what we can IE8 Debugging Update UPLOAD_ERR constants, there were new values introduced since 5.1 Remove the "on" AJXP_DATE as AJXP_DATE is a relative date and must contain the correct word. Also should fix #250 and fix #252 @Ellega I let you check :-) File sharing: check not only repository options, but META_SOURCES as well to detect if we need to store credentials. Should fix #265 Access.smb: do not escape password if replaced in UNC_PATH (necessary for MacOS) AuthRemote: Disable the local copy of the user when doing master/slave, should fix #382 and fix #40 Add an option to send error to error_log, close #402 Avoid loading Dropbox library if PEAR is not detected Files Metastore / S3 Metastore confusion. Fix #383 Fix #164 switching between two SFTP repositories implies some caching. Fix #419 Fix embeddable link if the publiclet_link already has a ?lang=... extension. Update change password size Connexion : Remove messageNode from XML response once displayed, otherwise it goes twice through displayMessage Fix parsedJSONCache, Display message in console if a console is detected, Fix IE8 problem with items beginning with a number (breaking CSS selector by ID). Editor.eml button, editor.codemirror left border Ignore Exif errors, otherwise it can break folder listing. Fix stack trace IE8 Mailer message box width A little mistake in language fr Always make sure the owner_id is not empty Show error details only if SERVER_DEBUG, otherwise group administrators see detail as well. DisableKeyBindings in change password modal Update "About" action style & content In Auth.multi, if there is a $regexp, search in all drivers Recursive search: search with regexp WP seems to send updateUser event BEFORE addUser ... triggering an error on check password, so check if user exists before. checking fr.php Search repositories in default repositories as well. Set Dashboard as default repository in ROOT_ROLE Fix Dashboard tweaks: "welcome, userID" , password focus in webdav pane Fix Mobile template and Media queries CSS User Wiget: add a "down arrow" to make more visible the access to the user menu Mysql and Sqlite upgrade scripts for stable branch (5.2.0) Php update script ----- Pydio 5.1.1 This release is a bugfix of 5.1.0, and a release candidate for 5.2.0. There is not yet an upgrade mechanism, thus it is not tagged stable: it is not meant to be deployed in production, unless you know what you are doing. We need you to test and report bugs ASAP to make sure we achieve stability soon! Update from 5.1.0 can be done using the in-app upgrade mechanism by switching the updater to the "development" channel. Please read 5.1.0 release note to discover the new features. Summary License : Affero GPL Copyright : Charles du Jeu 2013 Download : https://pyd.io/download Demo : https://demo.pyd.io/ Date : 23rd, December 2013 Contributors: Charles du Jeu, Etienne Champetier, Nikita Rousseau, Thomas Frivold Detailed Changelog [Noticeable] Repository switch and loading optimization: avoid loading all available repository when we already know the repository ID. Will have a great impact on REST-based access, typically WebDAV. (details) Fix rename just after creation, detect where to "switchCurrentLabelToEdition" (details) Add ENABLE_FOLDER_SHARING option in action.share, defaulting to true (details) Fix some specific installs problems with libxml and "external entity load" erros. (details) Declare restParams for move and rename (details) Switch to scrutinizer-ci.com (details) Move copy operations into AbstractAccessDriver to factorize normal and cross-repository copies. Enable cross-repository copy for folders. To be tested extensively. (details) Fix sorting problems when not in list mode. (details) Fix copy permission: can copy from one ro ws to another but not inside it. (details) Missing log when opening a file via the Editor (FileMimeSender) Fix #341 : force init core.log plugin if self::$loggerInstance is not yet defined. (details) Settings panel: Rework the tabs, should be clearer (details) Make sure to show controls on video when opened in editor. (details) Fix Dropbox plugin in sharing cases, retrieve the correct oauth tokens (details) Minisite: Ensure the BASE html tag ends with /, otherwise it goes up one folder (details) API CHANGE: switch to nodes[] query parameters instead of file_0, file_1, file_2, etc. Unique "file" is still allowed though. Fix dblclick on IE10 and IE11, tested on WIN7 and 8 (details) [Other] Update plugin_doc.html (details) Also apply CREATE action if inherit_recycle (details) Add sort_by, sort_dir, offset and limit parameters (details) Secure new meta.comments feed. (details) Performances: do not trigger load() in storageExists() if not necessary. FilterUsersByGroup: is_array() security check. Typo when catching exception in logger (details) Wrong notification sent during copy (details) Weak detection of file folder and add a class accordingly (details) Missing translation in Comments feed Missing delete_comment implementation (details) Fix #358, #359, #360 (details) Fix #354 (details) pgsql: IF NOT EXISTS is only supported since PostgreSQL 9.1 (details) try/catch on repository switch (details) Update XSD (details) PublishNodeChange was not taking into account the "copy" parameter. (details) Fix comments feed (details) Lower the poller frequency value from 5 to 15 (details) Correct typo in AbstractLogDriver (details) functions ListRepository and GetWebspaceLog take 2 arguments (details) Small typo in class.phpmailer-lite.php (details) LOG_GROUP_RIGHTS was removed in cda23be27cf360f5f77dc4658e63d7a8dfcb7b1c (details) Correct typo in class.cmsmsAuthDriver.php (details) Typo in test.ServerEncoding.php (details) session_unset() doesn't take arguments (details) AJXP_Utils::getRemoteContent take only 1 argument (details) Encoding is a parameter of Zend_Search_Lucene_Field::Keyword, not $privateDoc->addField (details) listUsers() doesn't take parameters in remoteAuthDriver (details) Replace $HTTP_HOST with $_SERVER["SERVER_NAME"] (details) Fix post-upload hooks: make sure to send node UPDATED instead of CREATED if was already there. (details) Make sure the rest API point is working on root. (details) New meta.syncable plugin keep tracks of all changes with a global revision number (inspired by couchdb mechanism) (details) Add an optional caching mechanism to the full XML tree (details) Name sdk methods for search and searchByKeyword (details) optional parameter can't be before required parameter (details) return AJXP_Utils::saveSerialFile is misleading and useless (details) $error isn't defined and used (details) Replace $REMOTE_HOST with $_SERVER["REMOTE_ADDR"] (details) getUniqueFile() doesn't take args (details) Small typos in phpCAS lib (details) typo in websocket.server.php (details) typos in phpCAS lib (details) Close #371 (details) self:: is used outside class/method scope (details) Manually define columns list to avoid NULL node_id (nulled by the left join) (details) Change how uploader.html depends on uploader.flex, should impact plugins ordering, but not activation. (details) Update rhs-pydio.sh (details) Update rhs-pydio.sh (details) porting rhs/centos script to gluster/debian (details) Add a stat_hash action to extend standard stat with the file hash. (details) Change file_ to nodes[] (details) Sanitize user name at creation in user_create_user (details) Updated access.sftp_psl (details) Use CSS animation when possible to make it lighter (details) Close #363 Add parameter for sendmail path (details) Fix #356 (details) Fix typo access.sftp_psl (details) Fix #355 Fix #356 (details) Mq manager was breaking the "guest" access. (details) Other usersDisabled() tracking (details) Do not override the _isRoot property in replaceBy. Do not filter out rootNode from selection, but explicitely enableRoot on actions, download only for the moment. (details) Fix #370 (5.1.0 regression) Avoid checking MetaWatch on parent if node is already root Avoid unnecessary DB calls to get repository by Id (details) Optionally set the unique button to 'close' when opening modal (details) Should fix #376 : catch exception instead of testing result (details) Fix #377 (details) Fix #374 (details) Fix #342 Source editor was broken in modal mode + detect BASE tag if defined to recompute correct URLS in minisite. (details) Fix tabs and scrolling issues in RepositoryEditor Make sure to disableShortcutsOnForm when replicating rows (details) Fix #260 manually: put full Imagick options in the Parameters, for both Thumbs and Image (details) Should fix #384 (details) Remove deprecated notify.phpmail-lite (details) Updated access.sftp_psl (phpseclib build-524) (details) Hotfix PSL_SSH2 (details) Re-add a legend on the share link dialog, otherwise it's not intuitive. (details) Fix search form in settings pane (details) Make sure file or folder exists before sharing. Short hash with numbers only can be interpreted as integer and checkHash send false negative. (details) Fix IE11 XPath not working correctly, probably because node is stored in a property in-between. (details) Fix #386 make sure to encode filename in VideoPreviewer (details) Fix #261 (details) Make sure to type the session_timeout and client_timeout correctly (details) Make sure to send the correct image header, even for 0-length file. (details) Fix #60 - Replace # and ? before calling parse_url() (details) Make sure CREATE is defined, otherwise it make a DB error on workspace creation. Use AJXP_Utils::safeParseUrl() (details) Change dependencies parsing to allow access.AJXP_STREAM_PROVIDER|something.else (details) Fix #390 Dropbox plugin. Missing one item each time Remove user name / password, it's useless. Store tokens in a per-user file. (details) Conf.sql:make sure to transform repository create options to integer, to avoid DB error Ajxp_conf: resplit create ws and create tpl as two separate buttons, not a menu. (details) Remove console.log Fix the checkboxes when editing templates (details) AbstractAccessDriver fix.perms (details) Fix how UID is extracted for FTP driver (details) Clean style of user dashboard (details) Missing copyright header (details) Action.quicksend: new experimental plugin to upload, share and send at once. Adds a tab in the user dashboard. To be toughened if some components are missing (share, mailer, etc...) (details) Use | in active plugin dependency (details) Enable uploaders if action.quicksend is active (details) Fix mailer line-height (details) Some checks when showing Modal (details) Auto switch to list tab on context change, thus do not trigger reloadDataNode() to avoid auto switch to list tab. (details) Fix plugin label (details) Do not send the first level nodes, to leave the drag'n'drop zone empty . Update plugin label (details) Prefix an icon to the PluginEditor (details) Fix typo in SSL indication (details) Escape user label before sending in XML (details) Ignore set_magic_quotes_runtime (deprecated) (details) Replace EncodeQ function by the latest phpmailer version. We should probably totally switch to this mailer. Optionally pass images to be attached in the layout. (details) Add an HTML layout for the emails, and pass a "main link" either by argument or from the main node of the notification (details) Revert line height from previous commit (details) Use creation email (details) Fix CSSFX / Fix create user panel (details) Compile form (details) Fix buttons positions in the Actions tab (details) Fix search engine problems / Save tabs state in the RepositoryEditor to reopen metatab at the correct place (details) Make sure textareas are readonly / Add PostgreSQL to install choices (details) Fix inline button style (details) meta.syncable: fix mysql to make sure it can be automatically installed. Pass default driver to run installation. (details) meta.syncable: fix sqlite to make sure it can be automatically installed (details) Handle multiple line SQL requests for tables creation. (details) Fix installer. Install meta.syncable tables as well. (details) Fix #357 The return of the bookmarks in Settings! (details) Styling harmonization Readapt for mobile tablets (details) Style (details) Update core plugins HTML documentation (details) Do not "autoFoldOnEvent" if unfolded from main button, just when unfolded from the tabs. (details) Style (tab to space) (details) Strengthen again the security level of zoho plugin. (details) Login modal closeValidation was broken (details) Do some CSS (details) Fix icons positiong (details) Replace get_my_feed hiding by CSS instead of JS (details) Test modal.currentLigtBox.parentNode before calling remove (details) Do not pre-install meta.syncable for the moment. (details) Let the editor.zoho be active in access.ajxp_user, to be sure the img_library is loaded. (details) For the moment, disable users autocompleter for existing private minisite. (details) Fix #398 has_password wrongly reported (details) ------ Pydio 5.1.0 Release Note This is a development release, it is NOT meant to be deployed in production, unless you know what you are doing. Update can be done using the in-app upgrade mechanism by switching the updater to the "development" channel. Most important things are: Tons of cool features, counting a new user dashboard, a faceted search engine, the ability to save the searches, and many more. Performances improvements in the GUI Code standardization and good practive, refactoring Many bugs fixed See detailed changelog below Summary License : Affero GPL Copyright : Charles du Jeu 2013 Download : https://pyd.io/download Demo : https://demo.pyd.io/ Contributors: cdujeu, echampet, afterster, TheLexus Detailed Changelog Changelog [New features] Faceted search (details) Comments feed: facebook-like chat on each file/folder (details) Drag'n'drop selection cart and save searches to re-run later. Download the results at once. (details) New "User Dashboard" meant to replace "Shared Elements", with all user parameters and custom data, first page with workspaces selector (details) Create multiple public links on same files. (details) Add QRCode on shared folder public link (details) New avatar plugins (Gravatar and Libravatar) (details) New access point for managing users self-service operations (currently reset password) (details) New plugin auth.radius (details) Ability to create personal contacts lists ("teams") - Requires SQL-based backend. (details) Implementation of WebODF viewer. Only as viewer for the moment, we have to get a way to send back the modif in a standard manner, probably by replacing the Runtime implementation. (details) New indexation plugin based on ElasticSearch - work in progress (details) [GUI Improvements] Tab-based editors (details) Quicken start-up (details) Make custom sort function to make sure users are sorted (fix #279) (details) Refix remote sorting that was broken. Implement it in FS for paginated case (standard attributes only, not metadata) (details) Rework metadata modifiers and Meta.user plugin. Implement a custom SelectBox choice. Should replace and close #255. (details) Update Modernizr, current version seems to create problems on some IE9 (details) Rework share layouts. (details) Rework admin dashboard (details) Use fontawesome for overlay icons Switch icon-star to icon-bookmark Search Engine Advanced panel i18n - Fix result positioning (details) Expand the Shared User creation form to fill user email, full name, send an email, etc. (details) Define InfoPanelExtension for "ajxp_root_node" mime, used only on the root node. If none is define, we use "no_selection" instead. (details) [New parameters] Add a parameter to force old-school external email (details) Add a parameter to allow new users creation while sharing (true by default). Use AutoCompleter for AjxpMailer Send users_only in list_authorized_users to avoid retrieving groups. (details) Shared users: inherit parent personalRole if the parameter is marked as inherit. (details) Optional limit for number of shared users creation (details) Optionally attach a link to LogoWidget or RepositorySimpleLabel via ajxpOptions. (details) Coding Standards & Refactorings Add coding standards / Add travis configuration to check it (details) Rework AJXP_Logger - expose all log levels - accept a variable number of argument (details) Allow log plugins to handle variable number of \t (details) Use more dibi for AJXP_SqlFeedStore (details) Use %lmt and %ofs instead of LIMIT for dibi queries (details) Rework DateTime handling in class.sqlLogDriver.php (details) Do no reinvent dibi (use (%s)) (details) Rework "regexp" in listUsersPaginated / getUsersCount in class.sqlAuthDriver.php Now "^a" matches everything that start with a "a$" matches everything that end with a "^a$" matches exactly a (wasn't working) "a" matches everything that contains a (was matching exactly a) (details) Add PostgreSQL database support (details) Remove compat.php (details) Don't check for date_default_timezone_*, we're using php 5.3+ (details) Don't check for filter_var, we're using php 5.3+ (details) Remove SystemTextEncoding::magicDequote, magic_quotes are deprecated in php 5.3 and removed in 5.4 (details) MCRYPT_MODE_ECB doesn't require an IV (details) Massive cleaning of all JS objects to make sure they destroy correctly. (details) [Inner API] Add node.share.create hooks (details) Add user.before_disconnect and user.after_disconnect hooks (details) Better API for get_my_feed Ability to force recycle_bin creation in workspace share (details) Pass a return_selection parameter to search/search_keyword methods, to pipe the given nodes into another action. Initialize a UserSelection from an array of nodes instead of httpVars. (details) Pipe search and download actions by using nodes selections to download a whole search result at once. (details) serialized data can contain null bytes, store them in blob (details) New functions in to be implemented by conf plugins (save/load/clearTemporaryKey, pruneTemporaryKeys) (details) Replace AJXP_REBASE if present in the html templates and passed in START_PARAMETERS (details) FS: Pass __AJXP_ZIP_FLAT__ to makeZip function to force all files to be at level 0 Fix tabulator et splitter resizing issues Download Cart. (details) New variable InputFilter::SANITIZE_FILENAME, to be less restrictive on the allowed characters than InputFilter::SANITIZE_HTML_STRICT. Particularly, allow commas in filename. (details) New invisibleBar, and autoFoldOnEvent options on Splitter New tabsTips option on Tabulator Fix simpleTooltip positioning and style Rework layout here and there, implements the new behaviours, still to be tested and validated. (details) Expand and fix widgets, add a mode for horizontal tabulator positioning. (details) [Other Fixes] Auth.remote cms_functions: when looking for the hidden files, make sure to use ".//" to search only below the current node. (details) Auth.remote: test if ajxp_gluecode_updateRole function exists to avoid errors if the glueCode is inserted many times. (details) Update auth.remote plugin, seems wp can create problems with wordpress_test_cookie missing. (details) Fix #293 (details) Impl #259 : if windows OS , alternative unoconv call. (details) SQL Update script for ajxp_feed table (details) Use FeedStore instead of MetaStore to have recursive meta. Could be expanded to a more generic SQL-based metastore. (details) Add office templates to Imagick support. (details) Fix #309 (details) Implement #291 (details) Fix #331 (details) Should fix #308 - We now use index_path dedicated column (details) Fix IE10/11 problems (close #318), plus IE8 problems. Fix close modal by ESC key that was broken. (details) Replace default_repository parameter by a real role/group/user parameter. (details) Fix old-school uploader for IE (Send button did not appear) (details) Fix #332: Error when renaming on Windows. (details) Fix #249, #250, #252 - @Ellega can you verify ? (details) Test also for X_ACCELREDIRECT parameter to disable the zip automatic deletion. (details) Indexation: do not use set_time_limit if already CLI context (details) Editor.browser: go through the various mime detectors while the result is octet-stream. Office docs should have the correct mimetype. (details) Missing CHMOD application on directories when applying recursive copy. (details) Fix ResourcesManager : was loading css multiple times (details) Add log when sharing file (in writePubliclet) (details) Fix various refresh / focus problems, TAB navigation was broken. (details) Login: trim username and password to avoid trailing and ending white space problems (details) Make sure we don't have false positive for old user migrations, otherwise it can end up overriding the role (details) Fix minisite: > Display workspace description > Do not display label/description if no user logged. (details) Use HTML base tag instead of the previous complicated "travel_path_to_root" mechanism... (details) ----------- Pydio 5.0.4 14th, October 2013 This is a bugfix and security release. Update is highly recommended and automatic using the in-app upgrade mechanism. AjaXplorer now turns into Pydio, Put Your Data In Orbit. License : Affero GPL Copyright : Abstrium SAS / Charles du Jeu 2013 Demo : http://demo.ajaxplorer.info/ Date : ##VERSION_DATE## Rev Number : ##REVISION## Contributors: thomasCresson, echampet, joubertredrat, BlackLionPT, FelipeSilva157, miloric, TheLexus, millsdude Fix #310, missing short form tpl for rename notification From now on, pass the package name "pydio-core" to upgrader - we'll maintain ajaxplorer-core and pydio-core Implement WebDAV Basic authentication the same way as Digest. (cherry picked from commit 94b0607) (details) Rebranding (cherry picked from commit ee7512b) (details) Massive rebranding (details) Fix 281: If no group label is provided, use group name. (details) Fix #285 download limit broken (details) UID parameter added to the ftp plugin allows now users to have less permissions failures. Permissions definition for ftp and sftp fixed in AbstractAccessDriver. (details) Make custom sort function to make sure users are sorted (fix #279) (details) Fix CLIENT_SESSION_TIMEOUT legend (infinite value is -1, not 0). Force value to -1 when session is AjaXplorer_Shared, should fix #272 (details) Refix remote sorting that was broken. Implement it in FS for paginated case (standard attributes only, not metadata) (details) Do not create group with empty name. (details) Fix dead link to the F.A.Q. concerning the server charset encoding check warning (details) Shared users: inherit parent personal parameters if specifically marked as inherit (quota params only for the moment) (details) Permit administrator to disable WebDAV on individual repositories. This is necessary for repositories that depend on session credentials because clients such as Windows default WebDAV do not use sessions. (details) Ellipsis is handled by CSS, it degraded performances for Details view. (details) Minisite: remove the inlineToolbar, it creates big performances problems, we have to find an alternative for that in the mobile GUI as well. (details) Fix applied hooks in FTP driver, were sending "file deleted" instead of "file created"... (details) ON DUPLICATE KEY not supported by sqlite (details) Add office templates to the list of supported extensions. (details) Use preg_match_callback for php version compatibility. (details) Use count(*) (details) Missing [ on groupPath (details) Use COUNT(*) instead of counting the number of returned values (details) Do no reinvent dibi (use (%s)) (details) Delete from [ajxp_user_rights] only for the current user (add [login] in where clause) Also use more dibi (use (%s)) (details) Fix floating "No Results Found" in the search engine. (cherry picked from commit 7adbae5) (details) inferOptionsFromParent is a boolean (details) Update class.FilesystemMounter.php (details) Skip deleted user - avoid missing arguments on share (details) Fix selected list item color in auto-completer (details) Add "Go Pro" button in the Admin panel. (cherry picked from commit 7f6fc83) (details) Fix node listeners just after upload (details) Update zoho-agent with a key. (cherry picked from commit 1cdbca8) (details) Typo in option (cherry picked from commit 7657902) (details) Fix splitter init / Update Modernizr library (details) Update i18n (details) Missing comma (details) Last js/css compile (details) Boot compile (details) Fix in_array() error in ldap driver (details) Deport authorization check in the nodeleaf put() method. (details) AjaXplorer hunting (details) Commit RewriteBase with htaccess set to / (details) Pydio build (details) AjaXplorer occurences in installer (details) ----- AjaXplorer 5.0.3 Release Note This is a bugfix and security release. Update is highly recommended and automatic using the in-app upgrade mechanism. Most important fixes are: - Vulnerabilities fixed and security enforced: new algorithm used for hashing passwords, enforce tokens generation, etc. PHP Mcrypt extension is now more than ever required. - Stabilize authentication (groups, LDAP) on the 5.X branch - Stabilize alternative uploaders remote drivers (Jumploader) - Many GUI bugs fixed License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://demo.ajaxplorer.info/ Date : 2013-09-02 Tag : ajaxplorer-core-5.0.3 Contributors: thomasCresson, echampet, joubertredrat, BlackLionPT Detailed changeLog Add X-Accel-Redirect support for Nginx (a sibiling of X-Sendfile) (details) New ability in FormManager button: simply trigger client action. (details) Always pass an ID for the event (not only alerts), and keep track of the last passed ID: triggers desktop notifications if active and possible. (details) class.remote_fsAccessDriver.php: Fix some option loading error while using the function Ajxp_PLUGIN::init(repository, options) manifest.xml: Disabling the remote_fs driver by default class.JumploaderProcessor.php: - Cross session resume implementation (doesn't work with smb) - partitioning now works with FTP - upload validation process now working for FTP and FS (details) previous commit (#69597c9010cb41b77b2e76cc2aae5b46a6eb9e57) broke the ability to upload folder tree on FS now fixed (details) We can now use jumploader with SMB, SFTP, FS and FTP drivers (details) Add the property "PORT" for the sftp repository creation (could not log with the wrong port number) (details) now getting the file "jumploader_z.jar" and putting it into the plugin folder (details) can now upload mutliple files through jumploader with FTP (details) can now upload multiple files through Jumploader on a FTP repository (details) Translated every single "en.php" file (into Portuguese (Portugal)) found in the plugins directory, copying the "en.php" and changing the copies name to "pt.php" plus 3 new flags in the ".gif" format and the ".png" image saying "Drop files here". Hope this is useful! (details) Fixed a few typos in the translations (details) Fixed a few typos in the translations (details) Always rtrim() groupPath from /, if not /. Close #251 (details) Optimization: getRepositoriesList was called inside foreach loop! (details) Replace dirname() by forwardSlashDirname() when manipulating groupPath to avoid errors on Windows. (details) Fixed some url construction problems. Add ENCFS_UID as a plugin option because it was hardcoded and set to 33. (details) ENCFS plugin now works with Centos 6 and Debian Ubuntu (details) Fix #268, there was a double "basegroup filtering". (details) Throw comprehensive exception in cleanDibiDriverParameters (details) Implement a remote search feature for users. Declare specific remote_indexation attribute in nodes to force search engine to query server, even in "local" mode. Ability to open a user at the correct page (details) Move MAILER from global_param to param (details) Security enforcements: > Switch password hashing from md5 to more secure hashing (backward compatible). > Do not use the server time() as the base for the tokens (secure token & remember me cookie token) as it's too predictible > Make sure the remember me cookie has httpOnly and Secure flags. (details) New parameters LOCAL_PREFIX and ROLE_MAP for auth.remote plugin : map CMS roles to ajaxplorer Roles. Remote plugin must pass the "role" key in the user array. Implement pagination, as the plugin is finally serial based. (details) Fix #263 (details) Fix #253 Fix #254 (details) Fix #227 (duplicate menus) (details) Use "button" type to download the Jumploader applet and install it at the right place. (details) Typo in testParameters() function (details) A Small fix on a send header instruction to implement a header to lighttpd server version 1.4.X. More info in http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file (details) Notification problems with ftp fixed (details) Fix case sensitivity (details) LDAP: enable group(s) to role(s) mapping, and group(s) to one group mapping (defining filter) Multi Auth: fix groups listing Update Conf backends: createGroup can automatically update (details) Wrong commit (details) Fix auth.multi updateUserObject call in user-choice mode. (details) Fix auth.ldap groups management. Still to be tested deeply on various systems. (details) Fix wrong extractRealId call (details) Do not skip the group mapping recompute to make sure the upper rights are applied (details) Should fix error on deletion when action.antivirus is active (details) Add configurable limit for action.share plugin (details) Use plugin Id instead of Name in class.ShareCenter.js ajxp_plugin[@name='share'] -> ajxp_plugin[@id='action.share'] (details) Fix groups when creating user from inside subgroup (fix #269) (details) Can now upload file larger than 2G with Jumploader. (details) Shorter string on small screens (details) Make sure AJXP_ADMIN_LOGIN is not taken for a groupAdmin Fix #278 in javascript (details) ------------------------------------- License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://demo.ajaxplorer.info/ Date : 18th July 2013 Rev Number : #97582cc1938c708acd9479f4b2d03036be78729e Contributors: thomasCresson, josh4trunks, chusopr, mquandalle This is a bugfix release from v5.0.1. Update is automatic using the in-app upgrade mechanism, and is recommended. Most important fixes are: Fix various uploaders problems (jumploader, plupload) Fix various Zip browsing / creation problems Choose Lucene analyzer in the plugin configuration Start an automatic deployment and testing framework (using Phing) Experimental: Etherpad implementation (collaborative text editor and chat), new SFTP plugin based on phpSeclib See detailed changelog below, and bugs fixed list on GitHub Detailed changeLog Add repository slug to file names when logging operations with files. Mispelling in french translation Fix #204 for WebDAV Basic Auth not working with USE_SESSION_CREDENTIALS. Fix #1: Auto create AjaXplorer user if CAS login was successful and plugin was configured to auto create users. Fix #207: typo in plugins/conf.sql/update_3.0.3_up.sql. Notification problem with Jumploader fixed for the upload of single files Fix -> Now the quota is respected with jumploader (if you exceed it you will see the error in jumploader GUI and it will erase all the already uploaded partitions and it'll stop the upload) Enhancement -> can now handle errors like missing partitions or corrupted data (you will see the error in jumploader GUI and it will erase all the already uploaded partitions and it'll stop the upload) Apply hook before sharing File in plupload with html5 will have their original name (renaming "blob" and special characters removal are fixed) Apply hook before sharing auth.serial_otp contributed by Janos Milus Publication plugin derived from the ajaxplorer.info website. Still to be completed, must find a config.properties for configuration. New SFTP plugin, working with phpseclib, added Fix #213: Prevent copying a directory to itself. Sanitize user name before sending. It will be sanitized on the server, but it can be quite confusing. Etherpad simple implementation Create pads either on a text file, or a "free" pad Update strings in etherpad. Create pads either on a text file, or a "free" pad Revert to previous version, zip browsing was broken. Check SSL status from PHP's HTTPS header instead of port Fix #217 + Creating archives with a samba workspace now works (exploration and extraction still impossible). Do not reuse a new XHRUploader, otherwise the on "change" event is pointing to the wrong one. Should fix the "wrong folder" pointing problem. Fix the Zoho file disappearing after edition. Fix #215 -> now can preview office files (.docx,...) if the extension is in uppercase Fix #214 - Problem with quota and resolveAsParent() not being set back to false. Refactored filterActionsFromRegistry to filterRegistryFromRole Go through all options of access.fs and use getFilteredOptions instead. Massive pass to reveal the full powers of groups: use getFilteredOption() everywhere instead of $this->pluginConfs[] Remove alpha-flatten in default ImageMagick options, seems to break on many platforms (deb7/rhel) Use UTF8 / TextNum / Insensitive default analyzer, add a parameter to change it if necessary. Fix textLogger Fix Travel path computation, could break minisite on some setup. Registry Preloading: do not forget to clear the serverCallbacks nodes, useless. Force disabling this mechanism when applying an URL shortcut, it breaks. Should fix #226 Copy last build to "-latest" to ease automatic deployments Fix #230 Fix #232 Do not use UTF8 default analyzer for Lucene, adds a requirement to php_mbstrings extension. Fix escapeshellarg call in getTrueSizeOnFileSystem() Build "latest" package with ajaxplorer-latest foldername inside. Cmd.php: allow anonymous call to automatize deployments (before any user is created) Starter Phing script to automatically deploy the latest Fix samba creation add App title and clean instructions comma error in json comma error in json Fix #211 ReFix #211 Push Font-awesome CSS at the end of the page. There are still some performances issues for the very first loading, we must digg that. Refix #215 fix #237 Update deploy Fix ftp parameters Expand Client Task Simple read write task Do not break build fix #239 by forcing case insensitivy for sql-based drivers. --- AjaXplorer 5.0.1 Release Note License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://demo.ajaxplorer.info/ Date : 29th june 2013 Rev Number : f37fcbdc3 Contributors: thomasCresson, Destroyer, Letreguilly, adrianbj, chusopr This is a bugfix and security release from v5.0.1 Update README.md Test RHN optional channel activation Clear cache and touch first_run_passed at upgrade for linux packages Report spec to tpl Fix POST script Fix usage, use build_channel not channel Fix RHN optional channel registration Fix #169: File transfers via WebDAV are not logged. antivirus plugin Delete File Update test.PHPOS.php Fix double parenthesis problem Fix #175 Update manifest.xml Update class.scan.php Update class.fsAccessDriver.php update plugin Update manifest.xml Pass an optional ContextNode to filenameExits method Define hooks automatically attached to AjxpDroppables for drag'n'drop support Fix #194, Fix the multiple copy upload problems by preventing re-opening the uploader. Refix background dropHover Fix #178 by removing autocompleter options from action.share and let them only in core.conf (autocompleter is a generic widget) The unload action may create a problem on reload in FF (user is logged out). Disable it for Gecko browsers. Fix #171 Full replug of the bookmarks for the Settings panel. Fix #187 Fix settings bookmarks Backward compatibiliy for "Bookmarks" tabs: a standard workspace only has 2 tabs, Folders & Bookmarks, using legacy bookmarks loading, whereas index.lucene is redifining this template part to provide the 3rd tab, and use search for feeding the results pane. Call escapeshellarg where missing Move node.change hook from fsAccessDriver to uploader's postProcessors. It's now the responsibility of the uploader to trigger the events. Comment the header content-encoding: none from AJXP_ShutdownScheduler to avoid encoding error (was breaking Jumploader). Czech translation update Revert "Czech translation update" Czech translation update > Fix protoMenu clicking on Workspaces & User widget buttons, annoying menu disappearing > redesign backgroundManager panel index.lucene: fix disappearing background manager. Fix information string displayed. Add set_time_limit instruction in the recursive indexation to avoid error if possible Czech translation update #2 Fix metadata line for FF & IE Rework splash / login form, still w-i-p Fix French message Rework splash + login screen Fix #168 Fix #168 Fix #186 - impossible to compress the files into an archive when using a smb repository -> verify if there is a scheme with parse_url and add an extra slash (to get an url like "scheme://" instead of "scheme:/") - problem with the files' name when creating an archive using smb (two first characters are suppressed) -> clean the extra slash from the real_path Better SQL error when you modify your SQL connection by an empty one. Create a backup file to fix the problem if it happens. New error message. Fix isAjxpAdmin() for multiAuthDriver Set antivirus plugin disabled by default for the moment Fix "webftp" case of auth.ftp driver Support folder upload in chrome Wrong compile, probably a linefeed problem Use backgroundPanel to display upload status, if the user closes the upload dialog. Nice! Do not ask for background upload, make it a hidden feature for now on Fix login display if no welcome message Default welcome message in installer New try on splash screen Unfortunately, the drag'n'drop + FileAPI + UTF-8 characters is not working on Mac OS X .. Disabled folders drag'n'drop, only working on Windows yet. Clean and refactor for naming convention the Antivirus contribution. Still to be more deeply tested. ----------------------------- AjaXplorer 5.0.0 Release Note License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://demo.ajaxplorer.info/ Date : 2nd, June 2013 Rev Number : cc2ea271251c7d8d045b8d94e92b3996af7ac43d Contributors: kainv, chusopr, dmitrydvorkin, tbote This is a major release. Changelog below summarize all bugfixes applied since last dev release, but read the more generic release announcement for v5 online. Changelog Display some instructions for the migration in the various possible setups after upgrade Auth.remote : use the standard "Login Redirect" parameter Add DB upgrade in common tasks. Missing groupPath column in repo Fix Proxy config broken in Upgrader Notification feed : fix button out of reach on Chrome, by making it b… … Include autoloading of the wrapper inside AJXP_Node->loadNodeInfo() ,… … Goto was broken if not using a repository alias Fix notifications pointing to a wrong repository, or trying to load a… … Stable migration Detect AJXP_GROUP_PATH_FLAT as GROUP security scope. … Missing workspace groupPath in SQL implementation … Detect the Instructions.html during the automatic build (inside the d… … Display a set of HTML instructions after upgrade, if found inside the… … Add a release note to be displayed BEFORE upgrade … Fix #161 & last compile Fix #135 Fix #157 Use "." instead of "*" to make sure to copy .htaccess - to be verified Fix #158 and other translation problems … Fix #159 … Test for __PHP_Incomplete_Class in session AJXP_USER, and kill the se… … Shared file notification was broken by new hash short form Fix XML templates for umbra theme Avoid SQL error if a user has no repository accesses Fix Notification Menu being out of the viewport … IE 10 FULL SUPPORT Fix doctype for IE8 access.webdav : fix #51 by dmitry dvorkin meta.quota : use float instead of int to overcome 32bits limitation. … … action.share : fix #136 … Spanish translation, by tbote Merge pull request #153 from kainv/patch-9 … Fix Minisite rights problems : were in fact happening at specific rol… … Send correct header for IE (fix #131) New parameter DISABLE_ZIP_BROWSING … Merge pull request #143 from ultreia-es/ajaxplorer-core-issue-143 … Should fix #141 Fix markdown lists and code Catch null repository error Fixed SQL typo in previous commit 25594b1. Update README Toggle right-hand panel Query sorted repositories list. Fix #143: Missing ';' after first CREATE statement. Fix install patches copy Fix CP & Patches Update script Fix metastore.xattr Move scripts under /rhs/ folder Touch check.txt directly Update RHS scripts Activate restParams for upload action. Re-adapt upload processor to handle a rest call. Simple Basic http auth for the rest.php point (still disabled by defa… … Fix metadata check to avoid false positives bookmarks Deploy script of AjaXplorer on top of an RHS node Update LDAP driver to better support Groups, in both AD & LDAP contex… … Avoid foreach error if childrenPointer is not an array Fix #134: Avoid redeclaring TestAccess classes. chusopr authored 12 days ago Right panel folding Fix #111 Make sure to set defaultexcludes to "false" for fileset, otherwise fo… … Update groupPath of children users (fix #125), filter roles before sa… ------------------------------------------ AjaXplorer 4.3.4 Release Note License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://demo.ajaxplorer.info/ Date : 2013-05-14 Rev Number : aabc9199 Contributors: https://github.com/Vorlif https://github.com/oo12 https://github.com/fdecourt This is a massive bugfix from 4.3.3. Please deploy on test on your machines. Dist : fix debian testing Sharelink rewrite : use [QSA] Query String Append file to avoid breaking download Fix #92, Fix #94, Fix #93 Fix #91 : typo when creating role, using old AjxpRole instead of AJXP_Role! Fix #90 : Reintroduced admin_counted and first_run_passed to differenciate both behaviours Fix SerialMetaStore wrong check on repository scope. Null button in FF. Fix #87 Add a test for LDAP connexion, and optionnaly test whether a given user exists. Quickly fix Shared Elements driver Todo: should be reworked more deeply to display more info, or simply dropped. Fix #95, various issues on both Sqlite and MySQL for handling dates. Fix #80 : table creation was broken Embed the phpws library for simpler setup. Close #5 Initiate 4.3.4 migration script. Close #71 by checking parameter client-side. Universign feature by @fdecourt Fix timestamp system, this is NOT an editor, but simply an action provider. Update README.md Fix array_merging polluting roles parameters. Fix from @dmitrydvorkin for basic_auth Fix build deployment Fix #103 Fix add WS action / fix websocket Fix #107 Fix #110 Fix #101 Fix templates not appearing Fix #98 Fix notification problem (empty node), ignore and log a warning Fix Settings navigation problems fix #79 Fix Settings Search (was performing ok but results were not displayed) Probably fix weirdness of repositories Call flush() after sharing problems can arise if OB active Fixes #104 Fix #104 (pass ignored group when getting context menu actions, ignore "inline") Disable text selection in InfoPanel Fix cmd.php warnings, do not init gui driver anymore. Comment in index.php as well, should be unnecessary Massive documentation of the administration driver (ajxp_conf), along with some actions renamed for consistency. update_user_group renamed to user_update_group, same for right. Meta sources actions renamed as well, now meta_source_add, meta_source_edit, meta_source_edit. Alternative JSON encoded parameters accepted for repository creation, and meta source edition as well. Meta Source deletion was probably broken. URLDECODE the path parts when using rest access. Fix an output_buffering conflict, was preventing BitLy shortening to work correctly Fix #99 : Mod Sec may block uri containing a ../../ in the query parameters. Replace them by _UP_/_UP_/ to avoid blocking. Optimize raster graphics (@oo12) Update German translation (@Vorlif) Update Shortener plugins > New way of storing metadata > Use group_switch type for a better GUI > Fix #113 apply shortening on folders sharing Update XSD and ajxp_mixins Auto check new version upgrades Display release note if there is one before upgrading. New version of the Joomla Bridge for Joomla! 3.0 (JForm replaced by JRegistry). Fixes #106 Rework auth.remote parameters using group_switch feature to simplify the process. Fix logout urls for WP & Drupal Update Readme Commit uploader.plupload, disabled by default as it requires downloading and installing the PlUpload sources. Fix Rename position Create guest Role (disable notifications & watches for guest) Rework installer last step (show an informational panel instead of nothing and reload) Typo, fix #119 Update Joomla! Bridge : detect group "8" (Super Administrator) to apply to AjaXplorer Avoid Main and Minisite collision by using different session name. Make sure it does not have side-effects. Change how auth.remote is working : set bi-directonnial mode by default (not slave only), and fix the pass checks to implement an equivalent of auth.multi config. Auth against remote CMS, and then against local user base, to allow folder sharing user creations. Fix #120 Update FontAwesome version to 3.1.11 Fix wrong message displayed on WebDAV activation Quick fixes for Umbra Theme Sanitize actionName parameter before applying xpath query. Test access to data/cache/index.html, testing .ser file is irrelevant in IIS Fix bootstratp copyright year --------------------------------------------------------------- AjaXplorer 4.3.3 Release Note License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://ajaxplorer.info/demo Date : 2013-05-01 Rev Number : 4.3.3 Contributors : https://github.com/mattlef https://github.com/piterdias https://github.com/ultreia-es https://github.com/chusopr https://github.com/sabas This is a DEVELOPMENT version that should not be used in a production environement. >>> Major new features Startup Installer : deploy on a database, define admin user credentials, etc. SQLite3 support Lots of bug fixes since 4.3.2, to make it a serious release candidate for AjaXplorer 5 New customizations options Workspaces now take and display a description Test parameters (SQL connexion, email sender, etc) before saving them. SabreDAV & Dibi updated to latest version >>> Details Fix resizer conflix Disable MqObserver and NotificationLoader in ajxpMinisite context. Fix sqlite binaries : store_id cannot be null Update hooks.json Startup Tests : add a test for APC extension. Add a client-side test to check that data/cache/ is correctly protected. Change download, chmod and download_chunk positions Fix download counter and new link form Adapt InfoPanel padding when there is a scroller. Set up a description for default repositories Set share links RewriteRule disabled by default Fix Alerts for SQlite Fix history browsers (git & svn). Fix repository description (use creation time and user if they exist) revert commit [access.webdav] Add performChecks function / Better error / update getRealFSReference ( see @dmitrydvorkin PR #50) WebDAV Server : automatically switch to BASIC if detected in headers, and also add a parameter to force BASIC auth (using standard user password in that case). This closes #57 AJXP_Node : do not serialize utilitary variables [access.fs] Add a config for using POSIX when checking write permission. [access.fs] Add a config for using POSIX when checking write permission. Fix Safari download : do not use hidden iframe, it fails after the first download. Complete #82 Fix FF20+ error Merge pull request #82 from mattleff/master SQLite : create parent folder during test or installation. Rework accordion Big refactorings to create a first-run installer. Sqlite : add a searchable_repositories field as blob are not searchable. Fix resizing issue with Firefox 20+. Adapt all SQL-based plugins for Sqlite3 Tmp fix #78 Fix #66 Try as much as possible to avoid admin setting wrong config if no SQL connexion is defined. Fix warnings Remove include in Writeability test. Make sure WebDAV triggers the correct events. Remove bootstrap_plugins.php file Delete all alert occurrences at once. Send an instant message to the AJXP_SCOPE_REPOSITORY_ALL Make sure dav.php initialize all plugins Delete all alert occurrences at once. Send an instant message to the AJXP_SCOPE_REPOSITORY_ALL Make sure dav.php initialize all plugins Merge pull request #72 from piterdias/master Last compile Fix ajaxplorer.goTo to other repository Fix notifications list Feed loading : automatically load the wrapper if not already registered. Should be generalized at some point. "Settings" Workspace icons & fixes If necessary, rerun fireSelectionChange just after fireContextChange to avoid intempestive buttons appearing/disappearing AttachMobileScroll is not working if the element does not have an ID. Add a random one. Proto.menu : attachMobileScroll to the container Fix to menu widthes Rework the Workspaces & Notifications Menu, both styling and features. Implement a description field on the repositories. Ability to add label in the menu, defining a separator with a menuTitle option Move switch_to_settings button inside the user menu. PHP Version is now officially 5.3 Dismiss alerts from feed Fix Goto in another repository Fix protoMenu click detection Catch WebSocket error Fix get_user_templates_definition Fix #75 Transmit ajxpPaneObject to subforms (to propagate replicate_row events) [auth.ldap] Upgrade auth.ldap to define custom parameters mapping and multiple DN's from GUI. Custom params can be mapped to plugin parameter, role ID, group path or profile. [auth.multi] Fix users listing in "user choice" mode [core.notifications] Fix empty result if no notifications returned. Fix problems when many replication group in the same form. Use formManager.observerFormChanges() when possible Merge pull request #70 from ultreia-es/ajaxplorer-core-cas_default_users_filepath Merge branch 'master' of https://github.com/ajaxplorer/ajaxplorer-core Merge remote-tracking branch 'origin/master' Binaries & logos, handle case where it's directly pointing to a plugin folder Upgrade SabreDAV to 1.8.5 Fix PHPDoc signature Default value for USERS_FILEPATH in auth.cas plugin. Fix #67 : WebDAV problem in 4.3.2 if only HA1 is set but not PASS. Merge pull request #69 from ultreia-es/ajaxplorer-core-69 Fix #53 : update S3 regions Fixed again the #24 (reopened) Issue 69: auth.cas type mismatch for server port parameter Read observer after replication Action.share : load configs from plugin instance Fix disableTextSelection function Pass a title to a tabulator, or use the label and stripTags Do not compute the labels width if current form has 0 width [action.share] Put the background options in a separate group Add an image for the resize_handle Add Resizable class from Cameron Wengert Set up custom attributes for share link page Update logo widget dynamically Send cache headers for binary images Update the toolbar logo from the Gui plugins options Fix media queries getFilteredOption should always take repositoryScope into account Method get_global_binary_param to skip the USER context. SliderInput do not trig an error on click if element does not have descendantOf method Remove default texterea styling Use image types for logos, will break the logo display for the moment. Update README.md Create CONTRIBUTING.md Merge pull request #58 from sabas/master Merge pull request #63 from piterdias/master Add Canon CR2 extension (RAW) to editor.imagick Italian translation update ------------------------------------------------------------- AjaXplorer 4.3.2 Release Note License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://ajaxplorer.info/demo Date : ##VERSION_DATE## Rev Number : ##REVISION## Contributors : https://github.com/hlev https://github.com/gynter https://github.com/terminal-addict https://github.com/chusopr https://github.com/cfoellmann This is a DEVELOPMENT version that should not be used in a production environement. Major new features : > Share a folder as a public listing ("minisite"), with preview for major file types > Share : Generate HTML Embed code for all type of sharing (ministe or file), and direct download link for files > Better "Shared Elements" management : browse all shared elements inside a given workspace inside a tab. Use Lucene indexer for performances. > New view type "Detail" on two lines. > Full rework of the Configuration to be able to manage them entirely via the GUI (drop bootstrap_plugins.php). This opens a better ability to create an installer > Notifications : display Alerts in the feed. > GUI optimization for IE (IE8 does not switch to legacy anymore), for mobile and for widgeting. Great responsiveness. > Performances improvement at various points, especially the first time loading of the GUI > DX (Developer Experience) : exposition of the API and the hooks > [experimental] New "rest.php" access point to run API queries in a more REST-oriented approach Roadmap to next version > Create an installer to configure all SQL-based plugins at once > Complete API Documentation / Expand PHPUnit tests > Improve Notifications panel layout > Add buttons to test LDAP connexion, test email sending, etc. > Digg the WebServer socket feature Detailed Changelog Core Auth & Conf [core.conf] Legcay to new format conversion for AUTH_DRIVER key in bootstrap_plugin [core.conf] MINISITE & MINISITE_NODOWNLOAD roles creation at startup [auth.serial] fix two performance problems: For conf.serial, keep a reference to the children to make listUsersChildren acceptable. Was impacting admin users listing and also when sharing a folder to a new worpspace. [core.auth] Generally, avoid recomputing merged role after calling addRole() if there is no real changes. [core.conf] When updating the INSTANCE of core.auth or core.conf, force disconnexion and remove admin_counted file to make sure it the user is not logged out. [conf.sql] SQL_DRIVER is mandatory Add ajxp_user table in conf.sql as well Readapt the core.auth plugin to automatically convert parameters into auth.multi driver Refactoring : Move QUEUES stuff from core.notification to core.mq Core : filter registry from serverCallbacks that are not used by the client Make TRANSMIT_CLEAR_PASS a default to "true", to avoid by default having to retype a password for WebDAV access. Rework WebDAV Panel. [conf.sql] Clear serial_role on repository delete [conf.sql] Fix issue #29 : Deleting a group with users does not delete the users Massive refactoring for lazier loading of repositories : only load the accessible repositories, only when it's necessary. May break some stuff, to check... [core.conf] Fix orderRoles function to make sure we keep the groups hierarchy [boot.conf] For core.conf and all conf.* plugins, always use the boot.conf as storage, otherwise it's weird (conf driver is storing its configs in its own storage) Core : fix double loading of external files, do not reload contributions if external files are already appended to the manifest. [auth.remote] Typo in checkPassword ! see #41 [core] At last fix the Repository::getId() method, remove the tests for isWriteable [core] Attach instanciated driver instance to the repository [core] Switch the AuthService to be usable with session or not. [core] Start a REST access point Declare "Indexable" metadata for in-house optimization : ajxp_shared meta allow for superfast loading of all shared elements of a repository. Also required the ability to create "user-scoped" entries in Lucene : we duplicated for as many as necessary. TODO : clear all user-scope Lucene document when deleting a user. TODO : use Lucene as well to optimize the whole conf.serial/auth.serial drivers? Refactor AjxpWebdavProvider to AjxpWrapperProvider … Start a massive refactoring to Restify the behaviour : A node can "on his own" load a repository -> a driver -> a metastore. Memory cache the users label for better perfs AuthService : remove the "password min length" check as it prevent the admin/admin creation. Make sure to call parent::initOptions() to get the default options values (from Manifest) Apply defered hooks inside try/catch otherwise it can break the chain. Use restore_error_handler to avoid triggering errors when loading feed Send template only if the header is text/html, to avoid resending the whole thing if a wrong request is sent. AJXP_PLUGIN : Load Options Default like for global parameters … Move initActivePlugins from ConfService to AJXP_PluginsService Move all bootstrap_plugins configs to a specific boot.conf AbstractConfDriver implementation Use AJXP_Utils::cleanDibiDriverParameters() when using a dibi like field > Clean dibi parameter by removing the driver prefix … > Change the way plugins are automatically activated or not : if there is a core.* plugin, do not load this category, it will be the core plugin task. Create manifests where necessary (meta, index, access) > Move AJXP_Logger class to core.log, instanciate the real logger using the core plugin config. > Plugins list : skip core plugin that don't have any parameters to avoid polluting display Merge pull request #25 from cfoellmann/master minor README update WebDAV WebDAV fixes : fix lock backend (create lock file if it does not exists), was preventing upload. Always $ignoreRangeHeader for the moment, fseek is not working correctly with the inner streams. AJXP_Sabre_NodeLeaf was missing the getContentType() implementation (see #31) Admin GUI Use a button to trigger SQL tables creation. Update all CREATE TABLE instructions with IF NOT EXISTS SQL-consumer plugins use the default "Core" driver defined in the core.conf plugin Fix plugin editor and roles editor layout details GUI Relabel Shared Elements repository [core.mq] : new parameter for polling time Fix ajxp_shared tabs, send to user menu, do not show in RepositorySelect [gui.ajax] Handle autoload of css files. [gui.ajax] Action : specify a forbidden extension in allowedMimes by using "^ext" Gui.ajax : Fixes for IE7 and IE8, IE8 now does not switch to legacy theme anymore ! [gui.ajax] Fix FilesList height and content_pane border radius … [gui.ajax] Ability to pass the standard GET parameters during the get_boot_conf action Bootstrap : Prepend SERVER_PREFIX_URI to logo path FilesList : fix duplicate listing when displayMode is fixed by componentConfig gui.mobile : fix content pane duplicate. Fix selectable + touch : trigger selection if deltaY is very small, otherwise it's a scrolling action. InfoPanel : check viewPort dimensions when opened as editor. Use InfoPanel as an editor (disabled by default). To be applied for mobile version Declare an 'inline' toolbar for mobile GUI (all the old code could be removed). Put ls, open_with and download in this new toolbar FilesList : pass a toolbarOptions to be displayed inline, either multiple (visible on each line) or unique (only selected line) Toolbars : ability for an action to belong to many toolbar groups, using comma-separated list Rework notifications feed styling. Bookmarks implementation as a FetchedResultPanel Rework InfoPanel responsiveness > switch to 2 or 3 columns and biggest preview Fix video.js preview repositionning Handle ajxp_bookmarked metadata in the same way … Redefine tabulator content for ajxp_conf driver / TODO check other non-wrappers drivers Fix IE Tweaks : make sure parseXML uses XMLDom active X instead of simple DOM parser (to use XPath) Forgotten observer in search engine (destroy), set lightbox markup on sub element in the fileList Rework the splitter and the tabulator Fix AjxpPane.scanChildrenPanes Rework Tree Styling, the caret is still not good (white border when selected). Fix various JS files to allow concurrent FilesList instances. Use one in the SearchEngine result. Fix Key events for new Detail view New view type "Detail" on two lines. Fix #28 WS not refreshed for user-added repositories Avoid many XHR at startup by sending directly the bootconf and the registry in the HTML template. Readapt ajxp_widget for new theme Default values for nested fields in FormManager FormManager : Fix missing "No" selection on boolean Rework FormManager to send nested values as JSON, creating too long key names can be blocked by Suhosin New group_switch: type for standard form, new hidden type, new mixin for dibidriver_providers using these new types. Sharing Use previewProvider editors to generate embeddable HTML code for shared files. Handles Images, audio, and video. Fix public links list, was broken by the new share mechanisms, and by any other php file inside the folder (#45) Add "minisite" toolbar : upload actions, logout, new download_all action Inline Toolbar : fix css for minisite, new invisibleSelection option for Selectable Minisite : move template in action.share [action.share] New share mechanism : minisite [action.share] Better reload minisite configs … [action.share] New parameter AVOID_SHARED_FOLDER_SAME_LABEL Stripped out version of the template prepared for minisite feature, inlineToolbar in multiple mode Use a short form of the web link hash, along with a RewriteRule [action.share] Minisite, do not use the tag, must be absolute Re-put the Share action in right click Plugins [editors] Fix eml editor, fix editor.other styling, add iconClass to editor.text [action.share] Make sure the minisite.php template is dynamically configured to point to server root (e.g. alias to public) [access.fs] When looping through a dir and using listing cache, make sure that the base path is also the correct one. [access.ftp] Fix ftp permissions (readonly state now has some direct impact) [access.fs] Fix dircopy by postponing the recursion after the closedir - should fix access.ftp Legcay to new format conversion for AUTH_DRIVER key in bootstrap_plug… … [uploader.jumploader] Fix uc_uploadUrl to fit ajxp widget mechanism [editor.soundmanager] Fix hookToList that was recently broken [editor.soundmanagaer] Fix sound (destroy on validation to be sure it's happening before disapear) [editor.diaporama] Handle window.ajxpMinisite config (hide metadata panel) [editor.soundmanager] Openable previewer [editor.video] Openable previewer [access.ajxp_conf] Fix delete user & delete role … [access.fs] Fix ls & copy actions rights [access.ftp] Let the driver handle the hidden files case, always get the whole list in the wrapper [access.ftp] Partially fixed the displaying of hidden files in FTP access plug-in [auth.ldap] Updated ldapAuthDriver to reduce calls to ldap_connect/_bind/_search [editor.diaporama] : correctly place the open overlay [editor.codemirror] Fix SERVER_PREFIX_URI case … [editor.infopanel] Create "Folder Info" action [editor.codemirror] Fix for mobile version [editor.soundmanager] Enable wav support [access.jsapi] Fix JSAPI driver Add Lucene by default to FTP, SFTP and SMB drivers [access.ftp] Fix wrong year for recent monthes, see bug #15 [uploader.html] Fix #12 Files duplicated with drag and drop upload [access.ftp] Merge pull request #26 from ultreia-es/issue-17 Workaround for PHP bug #62035 Issue 17: Workaround for PHP bug #62035 about PHP not being able to handle properly some FTP responses. [auth.cas] CAS Authentication plugin, contributed by Ultreia Communicaciones Fixes on WebSocket server [core.ajaxplorer/i18n] updated hu.php added translation for untranslated strings Developer List all ACTIONS and HOOKS in a new "Developer" node in the Settings panel. Still todo: document all serverCallback nodes, argh. Add a new "Developer" node in the Settings panel and display the actions and their API here. Rework phpDocs packages and subpackages Fix rest access point : /api/repository_id/action_name/parameters [core] died rest access point … [dist] Git tag and push instead of svn tag [dist] New task for git diff-tree, adapt parseSvnSummarize task, rework the prepare_update task [dist] Switch automatic builds from SVN to GIT Create README.md for new git repository --- License : Affero GPL Copyright : Charles du Jeu 2013 Demo : http://ajaxplorer.info/demo Date : 20130302 Rev Number : 8b9a0a6282 This is a DEVELOPMENT version that should not be used in a production environement. BUG FIXES [standard forms] Fix false value for standard form [access.fs] Wrong anti-slash inside autoRename function [index.lucene] Indexation : cleanIndexedChildren to make sure to avoid duplicates [gui.ajax] Catch a problem in bootstrap if messages sent in bootstrap_conf are empty. [access.fs] Apply CHMOD_VALUE on file copy [meta.mount] Filter plugin options [security] Make sure the auth result does not differ on user test [editor.diaporama] Disable download button in Diaporama and ImagickPreviewer if download action is not registered. [cross-copy] Cross repository move : try to touch the destination file to make sure the date is kept. Also trigger the various hooks. [pclzip] Upgrade pclzip to latest version (2.8.2) [access.ftp, access.sftp] FIX : Implement CREATE option [conf.serial] Fix deleteRepository bug : delete aliases.ser entry and remove ACL from attributed users. TODO : check performance issue (check the limit to swtich from serial to sql) [uploader] Remove dropareaHover after drop [action.share] Skip current user when sharing a folder [php 5.4] Exclude E_STRICT from error_reporting to avoid php 5.4 errors MASSIVE GUI IMPROVEMENT Brand new vision theme, comes with FontAwesome for monocolor icons. Rework Settings layout : close InfoPanel, dedicated Parameters button, etc. Rework public DL page Interface responsiveness using css media-queries Add image attributes in form grammar. TODO : parse image parameters AFTER the elements creation (e.g. repository) Enabling selection in left panel. Panel Header actions, use the disable state with CSS instead of manually show/hide buttons Custom "create" action for Fix background for share page Improve infoPanel: register panels based on metadata presence, Limit exif data to images, Use modifier to add a dynamic infoPanel for Share data Improve Login Box add texture to overlay, prevent box from closing until user is correctly logged Recompute the header toolbar widget sizes when the splitters are moving (generic binding to a given widget resize event). New groupOtherToolbars options for ActionsToolbars Simple breadcrumb class Adapt sortable to work on non-table rendering Connexion JS : discrete attribute to avoid showing loader Fix click/touch event for iOS 6 REAL-TIME NOTIFICATIONS / MAILER Most "reload" actions are now replaced by dynamic loading of modified nodes. Concurrent modification by another user will appear automatically in real time. This is implemented by default with Polling, an alternative WebSocket implementation is still in experimentation. Mailer is now part of the core (using phpmail-lite) User feed : store events and alerts as a feed : this requires SQL and is not enabled by default for the moment. Pass host & port to ws-server.php Extract the queues management into specific plugins mq.* (remove the worker queues from conf plugins, remove the instant queues from core.mq) Meta.quota uses instant message (hook msg.instant) if active. Still todo : implement various drivers to store the events feed / alerts (persisting queues) / Unify non persisting queues (worker queues like email, instant messages). Reuse opened WsSocketClient to send multiple messages during request lifecycle. Auto switch between websocket and polling Use hook for mailer instead of dispatching directly Subject append / prepend and body layout for emails Localization of mails templates in french. PLUGINS MISC [core.conf] New option in core.conf to avoid autoloading of last visited folder. [uploaders] Server-side checks before upload, for both triggering before_create hook and checking filename. [shorten.multi] New shorten.multi plugin (contributed by Miguelon), should replace shorten.bitly [meta.quota] Set quota recompute deferred [action.share] Do NOT override sharing options if re-editing [action.share] Try displaying USER_DISPLAY_NAME whenever possible [action.share] Set the resolveAsParent flag on user before getting the PATH option, to make sure it's correctly resolved for computing [action.share] Make sure to avoid // in public link [action.share] Make sure we don't read a non existing file (seems to hog CPU) [action.share] Use getUsersForRepository() instead of listUsers() in ShareCenter, and update this method in serial & sql drivers. [action.share] Option HIDE_REAL_LOGIN for autocomplete list. [auth.ldap] strtolower ldap attr directly [editor.imagick] Fix Imagick Previewer for remote viewers / Add option for setting own custom Imagick parameters [index.lucene] Set Numeric Zend Analyser [meta.mount] Escape password in FSMounter [editor.imagick] IMagickPreviewer send correct cache data to avoid reloading thumb during the session. [auth.ftp] Hide remember me for auth.ftp [meta.quota] Fix meta.quota : shared folder / new parameter to skip caching. [action.scheduler] use queue to pass huge number of users [access.hpcloud] Force usage of object-store and not CDN, otherwise it can create errors (if CDN is not up-to-date probably) INTERNATIONALIZATION Catalan update by Joan German translations added (panzaeron) CORE Generate direct Ajxp link to files ( = shortcuts ) Node.meta_change hook, triggers reindexation. Assign a clientForm to a given theme Finally discriminate before_change ( = content) and before_path_change ( = path) hooks, to fix disappearing shared metadata on content update. XSD Accept special chars in component_config className attribute (className::ajxpPaneId) Send Content-Encoding:none header to force closing connection Add a start test for Output Buffering Fix metastore security scope and metadata cleaning First pass on virtual roots (should be provided by user roles) Fix Lucene Indexer if repository is group-scope Clear stat cache before sending node.change event. Make sure to force IE9 in standard mode [phpunit] Organize PHPUnit Tests [index.lucene] Special * query to send whole arborescence (performances test) New variable AJXP_GROUP_PATH_FLAT to avoid seeing subgroups folders Save digest HA1 on password update (if TRANSMIT_CLEAR_PASS is set to true), to avoid having to re-enter a password for WebDAV >> To validate Utils : do not sanitize HTML for textarea fields / Pass these fields value as CDATA, not attribute. Make sure to send node.change event AFTER download (otherwise it triggers an output_buffer). Set doc/ppt/xls mimes in core, not only zoho Apply ultreia suggestion to trim only null characters (ultreia) Trigger upload directly when ios-client / apache PERFORMANCES Perf hunting : introduce an accessible cache for full registry queries Perf hunting : fullMetaCache broken by alternating global and local cache. Always use ajxpNode->isLeaf() instead of is_file / is_dir. The getTrueSizeOnFileSystem is VERY time consuming, we could maybe use a cache. The long part is now located in renderAjxpNode() and xmlEntities() function... ------ 4.3.0 Release note AUTH/CONF COMPONENTS MASSIVE REWRITE . Groups implementation : users can now be part of “groups“, and a user can be administrator of a sub-group only. Repositories and roles can be marked with a given group as well, making them accessible only to the users of the group and below. This is a good step toward multi-tenancy. Groups are also accessible for sharing : ability to share with a whole group at once. . Roles generalization : The role concept is now a generic container for a extended set of data : ACL, but also plugins Parameters and plugins actions set to be disabled. Roles can be manually created, but a user will by default inherit its rights from a default "personal" role, and from roles attached to its groups. This is making the configurations/ACL ultra-flexible, and you can for example set different configs parameters for two different groups, and then override these for a specific user if necessary. These parameters and actions can also be applied to a chosen "scope" for repositories : All Repositories, Shared Repositories, or each repository one by one. See this page for more info : http://ajaxplorer.info/documentation/administration/4b-configs-roles-ajaxplorer-5/ . The old "CUSTOM_DATA" fields defined in the conf drivers options are now actually brought by plugins manifest, and a "scope" attribute allows to attach these custom fields to either the users, the groups, or the roles (or all of them). . Roles (and by extension users and groups), Repositories and Plugins now have their own brand new editors. . A “lock" property of the users can trigger a predefined action just after login, useful for either forcing pass change, or setting a GUC to validate. If set to "logout", the user just cannot log. WEBDAV COMPONENT REPLACEMENT The WebDAV component, previously powered by ezComponent, was entirely replaced by SabreDAV, which is by far a more active and stable project. As a result, webDAV should be working way better, litmus tests are passing 100%, even with MacOS Finder! As a bonus, we added the possibility to point to the parent url (/shares/) with a listing of all available repositories depending on the user logged. Finally, a WEBDAV_BROWSER_LISTING option allows you to access the very simple webdav list directly in the web browser. WARNING : THIS NOW ADD A REQUIREMENT TO PHP5.3! NEW PLUGINS [access.hpcloud] First implementation of HPCloud Object Storage access, based on their PHP bindings + patch. See if possible to send back the changes. [cypher.encfs] Experimental implementation of encfs : dynamically create / mount / umount an encfs filesystem. Nice trick to handle the creation via STDIN. Requires web-server user to have sudo access to encfs and encfsctl commands. Implementation is using specific folder prefixes and node filtering. New "force_copy_delete" parameter in fsAccessDriver when moving directories from/to a mounted folder. Automatically unmount all folders at logout/repo_switch, pass the XML template & password as plugin configurations. Remind to add www-data or equivalent to sudoers for encfs and encfsctl commands. [metastore.xattr] XAttr metastore implementation, seems to be working quite well. Requires xattr, libattr (libattr1-dev on debian), and pecl xattr extension. [meta.watch] Update Mailer, new meta "watch" for watching a folder and getting notification on it. How to watch a root folder? Share and Watch together [core.mailer] Generic plugin for sending email. Unique implementation yet is using phpmailer-lite. [core.notification] USE_QUEUE parameter in NotificationCenter / Base for notification templates via i18n library [mailer.phpmailer-lite] Mailer implementation PLUGINS FIXES [meta.git] Fix performChecks function [editor.diaporama] Compute image ratio using JS when not available via metadata. [editor.diaporama] Optimize for remote wrappers by caching references to real file whenever possible. [editor.diaporama] PThumb : deprecated join calls Fix spaces (rmeske) [Access.dropbox] better error handling (could trigger a memory fault) [log.text] : send syslog error when recursive problem. [access.fs] Catch opendir failed call error / Remove unused countFiles call for recycle bin. [editor.soundmanager] : totally disable for IE < 9 . [conf.serial] Fixes in conf.serial/AJXP_User and in ldapAuthDriver for case sensitivity problems. [action.scheduler] Add a log in fakeLongTask [auth.ldap] Do not initialize the LDAP Connection in init() function, otherwise it's triggered for no reason most of the time. [action.share] Resolve AJXP_USER as parent only in a controlled environnement > Better logs for shared links actions (do not mix with author login anymore) [meta.filehasher] Fix : filling /tmp/ dir with filehasher_patch files... [conf.sql] New table ajxp_simple_store for multi-purpose storage. This is getting closer to JCR / PHPCR approach !!! [meta.quota] Implement SoftQuota [meta.filehasher] Meta.filehasher : remove rsync actions to "advertise" the fact that rsync is not on the server. CORE FRAMEWORK (PluginService & Controller) New variables filters AJXP_GROUP_PATH, AJXP_ALLOW_SUB_PATH Ability to load manifests contribs including external files (for listing actions). Add ajxp_folder mime_type to "ls" action, to allow the actions discrimination by mime types for folders as well. To be checked for side-effects! Set GROUP_PATH as repository standard option. LoadRegistryContribution only when building the registry - Try filtering options with role parameters. Ability to depend on a type of plugin being present (mailer+) Basis for attaching binary data to users/roles - Handle images for avatars Add node.read hook wherever possible Abstract updateUserObject() function can be call to let the AUTH drivers enrich the CONF users object, implementation sample on LDAP, by automatically mapping ldap attributes to CUSTOM_DATA_ parameters. Fix exception loop Fix logger : when using CLI, REMOTE_ADRESS not available, display PHP_CLI instead. CORE UI (gui.ajax) Actions : new attribute evalMetadata on selectionContext MetaStoreProvider interface now declares an inherentMetaMove() method to be implemented. ShareCenter : Update node metadata on before_change instead of change, otherwise automoving metastore will move metadata before checking the node. Move Conf / Auth group methods to abstract classes, SQL conf to be implemented. Code cleaning. ShareCenter : Handle group sharing from start to end. In FormManager, ability to set a field readonly . IE : always LoadAutoLoadResources() after registry is loaded Connexion : display error message, not error object. IE XPath : set SelectionLanguage property to be able to use contains() expression. Display a NEXT instead of OK for create_user and create_repository ---- AjaXplorer 4.2.2 Release Note License : Affero GPL Copyright : Charles du Jeu 2012 Demo : http://ajaxplorer.info/demo Date : 2012-07-23 Rev Number : 3035 This is a bug fix release, and introduce two new features : simple but efficient documents automatic-versionning based on GIT, and Amazon S3 driver. Other clouds drivers will come soon (Swift from Open Stack among others). [NEW FEATURES] Meta.git : Git based versioning, way more simple than with svn, simply install GIT on the server and install the PEAR/VersionControl_Git library. Open in browser, revert to a given revision, cosmetics. Access.S3 : Based on Pun'k Avenue s3 "better stream wrapper" implementation, and the aws-sdk from AWS (not packaged by default). [BUG FIXES] gui.mobile : open/info menu had disappeared (FilesList refactoring). Auth.ftp & Auth.smb were broken Notify.phpmail-lite : Base64_decode when necessary Disable scheduler if not able to create db folder Do not catch errors and exception at the very first boot [core] Factorise generateAttachmentHeaders and generateInlineHeaders inside HTMLWriter, and use them in fsAccessDriver and in FileMimeSendSender. [gui.ajax] Fix various things in JS files for FilesList class impermeability. [access.smb] Make sure to register smb:// wrapper (bug in cross-repository copy) [access.smb] Apply Thomas Oettli tweaks (new DOMAIN parameter). [access.ajxp_confDriver] Not very nice, but working, make sure to register meta.svn & meta.git after the others (will trigger the hooks accordingly) @todo : generic reflexion on the hooks/plugins ordering. [action.scheduler] Missing xmlEntities call on repositories list, could break the interface. [action.scheduler] Make sure the folder is also initialize on unserialization [meta.quota] Fix shell epression used for computing quota on Darwin [core.auth] Wrong ajax response on pass-change error, reported by @ultreia [AJXP_Utils] Fix from @mattlef : avoid exception on empty extension filename [CLI & ASSOCIATED TEST] CLI : detect / configure / use COM WScript.Shell to enable command line on IIS. Require giving correct rights to the cmd.exe executable. Typo error totally breaking the PHPCLI test. Test CLI : more tests on safe_mode & exec detection to be sure it will not crash [WebDAV] Disable locking for the moment, triggering too much random upload problem [Quotas] webDAV and quota checking [WebDAV] Fix error if a repository has no metastore Conf.sql : getRepositoryByAlias was simply broken, making webDAV fail when using conf.sql GoodReader WebDAV client : do not urlEncode AjaXplorer 4.2.0 Release Note License : Affero GPL Copyright : Charles du Jeu 2012 Demo : http://ajaxplorer.info/demo Date : 2012-06-24 Rev Number : 2976 This is a major stable release that includes numerous bugfixes from the 4.1.0 and a lot of new features. [NEW FEATURES] Auth.multi driver : Implement an alternative MODE, instead of proposing the various drivers to the user, consider one is the master (typically ldap) and the other is the local alternative (typically serial) to allow creating shared users. Action.scheduler : a generic CRON-LIKE scheduler triggering AjaXplorer actions in background. Only one call needs to be added to the cron to trigger the scheduler Share engine : Add an optional Downloads Limit on generated links to auto-expire after x downloads. Default repository : Add an option for forcing default repository at login. Quota implementation : New hook before_create / Pass new size when possible in before_change and before_create meta.file_hasher : Store md5_mtime to make sure some changes were not missed, recompute if not sure meta.mount : Automount any filesystem (Linux only) automatically log.syslog : Send logs to System Logger (Linux only) Core.auth / Core.conf : New mechanisms to list users in a paginated way, to avoid overflowing GUI. Implemented by auth.sql, auth.conf and auth.ldap for now on. -- 4.1.0 PHP 5.4 Support : Call-time pass by reference are deprecated, replace static calls to DOMDocument::loadXML [CORE] XSD Schema : missing dynamicItems element definition, missing user_param element Encoding : XmlEntities before sending in triggerBgAction. Encoding : Preg_quote before using as regexp New Cache : I18n Messages caching mechanism, one file cache per language Automated build : exclude some under-used or very specific plugins from the standard build : access.demo, access.jsapi, access.wms, auth.cmsms, auth.phpbb, editor.codepress (deprecated), log.syslog Replication : Ability to replicate groups of fields in the standard form kit. Config files : New (optional) way of encoding serial files using JSON formatting. We may switch massively to this format, as it's much more easy to hack manually (but would have to check performances before). Refactoring : Deport login/logout and related actions inside AbstractAuthDriver instead of root index.php file Autoloader : search interfaces defined in core plugins Refactoring : New core.metastore plugin, defining the MetaStoreProvider interface & the AJXP_METADATA_ constants Performances : New skipCheck parameter added to AJXP_Utils::loadSerialFile Distributed Env : New variable AJXP_SHARED_CACHE_DIR / Shared cache can be a stream, which have implications at many levels -- 4.1.0 Cross-Repo copy : Two successive node expand changed the current repository to the destination repository (switch back replaced twice). Core : Fix mkdir() call for the cmd_outputs folder Performance : cache slow processing data when possible (registered extensions, messages, etc), either in memory (static var) or in cache files. [GUI BUGFIXES] IE10 Ready : Prototypejs & Css fixes for forthcoming IE10 version (does not support filter: anymore) Typo : Error prevented the updateIcon in xTree Diaporama : Do not display splitter and info panel if no toggleButton action is passed IFRAME uploader : use closeValidation instead of closeFunction to avoid override Error catching : Catch error 500 Refactoring : ParseXMLMessage Return false on error Refactoring : Set action_instance_ID on buttons referring to actions, to dynamically update their label if necessary. Performances : ActivityMonitor sends get_action=ping to avoid triggering default action. HeaderResizer : decorellate from table_rows_container, fix columns width, fix typo that was preventing Opera from working. Refactoring : Deep FilesList refactoring to attach a different data model User Experience : Repository configs Update the Meta Sources tab for better UX. Bug : Avoid shadower error / Do not call activate() on accordion if already showing. ConfigEditor : Do not close window on repository creation error / Form Manager : use tab to navigate inside the accordion. -- 4.1.0 Client Session timer: hook to "ajaxplorer:longtask_xxx" events to avoid disconnecting during very long task (namely uploads for the moment) Remember me : reported from 4.0.3 branch Tpl Logo image : Wrong content type header Massive deletion : POST instead of GET Error Message : Restyle message box (max height), fixed broken carriage return JSPacker : rtrim windows line feed -- USERS & CONFIGS MANAGEMENT Actions : Group new user / new role actions under a same submenu. Hooks : New hook for adding section to the Settings console from other plugins UX : User pagination if auth driver supports it in access.ajxp_conf Bug : In the few cases where the user now can upgrade its own rights, make sure to load() it before, if an admin has changed the rights during the session. User case : Disable case sensitivity (in core.auth config) Auth Schemes : Auth driver can provide AuthSchemes (displayed in the admin interface). Should be used by conf.serial to differentiate the storages by folder and avoid using ugly ID_SEPARATOR. Performances : Implement __wakeup() function on Ajxp_user to make sure to clear the registerForSave array. Performances : [conf.serial] Delegate the user files saving to the __destruct method for better performances. Performances : New FAST_CHECKS parameter for conf and auth serial plugins -- WEBDAV Performances : Performance improvement, applyActions() instead of directly calling driver methods, so that pre/post process are applied. Refactoring : Detect if there is a metastore, and use it for storing webdav properties. Should implement locking. Refactoring : Check interface AjxpWebdavProvider instead of hardcoded access types Bug : Fix repository alias / id problems -- PLUGINS access.fs : Preconfigure a folder whose content will be automatically copied to the repository at first load. access.fs : optional arguments to use rename as move access.fs : Upload : pass accented characters in the urlencoded_filename POST parameter access.ftp : Fix FTP listing when multiple groups access.ftp : Fix autorenaming on upload not working. editor.browser : Classic header fixes for IE8 editor.imagick : Unoconv integration for both previews of office files and indexation of their textual content. editor.imagick : Autodetection of thumbs ratios for pdf thumbnails. editor.imagick : Threshold for generating all pdf pages at onces or on-demand. index.lucene : Lucene and office documents : silently tries to index, avoid throwing errors editor.video : Fix m4v support action.updater : Connect to update site through a proxy. http.downloader : Trigger before_create before downloading! http.downloader : Fix progress bar for remote downloads shorten.bitly : Re-display shorten form when showing shared link url editor.pixlr : Add IfModule instruction in htaccess otherwise it can prevent from accessing the content of the folder. meta.filehasher : rsync actions (requires PECL rsync extension) uploader.jumploader : skip pre/post processors if xhr_uploader passed in the url auth.sql : Override the clearRights() method, changes must be saved directly in the DB. auth.sql : Fix double bookmarks loading Jumploader : use uploader passed as argument, may solve FF random problems? action.share : Change share action rights : allow readonly users to share links (but not folders). action.share : Do not allow re-creating a temporary user action.share : Handle SessionCredentials case along with folder sharing by saving an encoded version of the credentials in the options. meta.svn : Usability & improvements, more documents oriented than source control. To be generalized. Todo : how to grab old versions metadata? meta.svn : pass the LC_ALL environnent variable to proc_open if AJXP_LOCALE is defined meta.svn : pass array if multiple arguments (will be shell escaped) / Auto-commit metafile changes unoconv : How to guess the encoding of pdfs of docs for extracting text? / TODO : report documentation -- 4.1.0 Metadata loading : Set a "hidden" metadata to a passed node Access.fs : handle symlinks more properly Access.fs : Filter files and folders when creating Zips, using PCLZIP_CB_PRE_ADD callback Access.smb : Clean URL everywhere, pass the Locale as environnement variable when defined Access.fs : Big typo error making the "nodeName" resetting useless Access.smb : override makeZip and allow its usage (by plugin configuration), as it can be an option when on a very fast network connection. Access.smb : fix "+" in folder name, use rawurldecode() instead of urldecode() Open_basedir : Multiple files downloads broken, do not "patch path" in readFile function when on the realFileSystem. Core.conf : Add a $context parameter to the user save() method, to avoid "over saving" data : if context is "superuser", save preferences and rights, where as in context "user" save only preferences. Core.uploader : should solve the problems of setting the upload limit. WebDAV Server : detect MiniRedir user agent Synchro : Recursive listing implementation & hooks applyCondition for better performances. Testing synchro tool Synchro : Various tricks to trigger the metadata updates from outside, and webdav optims Conf.sql : Auto detect "objects" preferences and serialize them in the DB, adding the $phpserial$ prefix. Fixes AJXP_WEBDAV_DATA of users, as well as PLUGINS_DATA used by notify.phpmail Editor.diaporama : fix the "navigator" when the is a marginTop on the thumbnail, encodeURIComponent before triggering download action, otherwise breaks (e.g. & in file name) Editor.zoho : as reported by zoho support team, the Secret Key is in fact deprecated and no more necessary, apply node.before_change hook before saving Editor.pixlr : apply node.before_change hook before saving Editor.imagick : do not inverse slashes if not necessary! Editor.video : Pass alternate videos versions in the metadata, and set them as HTML5 video source (require an external pre-encoding) Index.lucene : ignore case for determining content-indexed extensions Uploader.* : trigger events ajaxplorer:longtask_starting / ajaxplorer:longtask_finished Auth.ftp : Force call to getServerFeatures() when coming from the login operation. Auth.ldap : Jon Peck ldap contrib : ability to configure DN as an array and iterate through them Meta.svn : manually set a library path to access the SVN commands. Meta.filehasher : new utility for accelerating synchronization, compute and store file md5 in metadata (if metastore active) and delete on file change. Action.powerfs : Fix zip delegation : do not sleep for one second, change the download mechanism, and place the zip inside the temporary folder, otherwise it makes problems for read-only folders. Allow compression when using powerfs in read mode, Todo : exclude hidden files from zip operation using an exclude list, Action.share : AjxpSharedDriver avoid error on empty glob(), fix typo error -- TESTS & INSTALL Test PHPCLI : Catch Errors on popen() to avoid IIS crash. testPHPSession : Skip test if save_handler is not file based CLI : Change the way the CLI is detected. --FROM 4.1.0 New config file : New optional config file to set the configs that must be set before anything else : LOCALE, TMP_DIR, INI_SET Test.gpc : Totally commenting magic_quote_gpc breaks JSON if magic_quote is active! Test.writeability : Call is_dir silently to avoid error triggering and let the diagnostic tool run Tests failed : Suggest changes (in the new bootstrap_conf.php file) Documentation : Plugin Info XML, ability to browse many plugins folders (experimental) Security : Reported from 4.0.4 branch --------------------------- PREVIOUS RELEASES FROM 4.X --------------------------- AjaXplorer 4.0.4 Release Note A vulnerability was discovered that could allow a non-logged user to access other files on the server file system. The « remember me » mechanism was also improved to lower the session hacking probability in case of « cookie stealing ». AjaXplorer 4.0.3 Release Note License : Affero GPL Copyright : Charles du Jeu 2012 Version number : 4.0.3 Demo : http://ajaxplorer.info/demo Rev Number : 2748 [Fix side effects of previous release] Revert bootstrap_context commited once again with setlocale uncommented. PHPCLI test : detect the disabled functions to avoid ugly error at startup! The open_basedir fix for zip browsing was breaking the zip extension on download. Test glob result in upgrader Locked file could save content even if hook node.before_change returned an exception. [Access Samba] Make smb access more robust : configure smbclient path, blur credential in debug, get the procopen error stream, etc... Access.smb : handle Windows case for smbclient+cygwin install. Nice! Fix a couple of samba tweaks, plus shared links when using auth.smb/access.smb, may impact other auth.** drivers Update access.smb documentation [Users number scalability] New options for the ShareCenter : Ability to pass a regexp pattern to AuthService::listUsers() Touch a file in the cache to avoid triggering countAdminUser() if not necessary (ie do it only the very first time). Can be very long when a lot of users! [Android client redirection] Adapt iOS GUI Plugin for Android as well, ability to set the app url via the configurations. Handle the skipANDROID parameter & cookie [Other] Editor.diaporama : defer cache cleaning hook Editor.diaporam : allow the client to ask a specific thumbnail dimension => useful for mobile devices! Make joomla_auth_remote function more robust, when the HTML cannot be correctly parsed by a DOMDocument. Auth.remote MASTER_XXX variable documentation update, along with the website How-To. ------------------------------------------------------------------------- AjaXplorer 4.0.2 Rev Number : 2728 [Security] Fix a potential XSS via the doc feature [Hooks] Ability to apply callbacks in a "deferred" way, i.e. after the output is sent to the client. Drastically increasing user experience. New hook "node.before_change", to be used by locking plugins [Access drivers] Moved global parameters "hide folder, show hidden files, etc" to the filesystem_commons mixin. Test HIDE_XXX is not empty, otherwise there are false-negatives Try to chmod 755 publiclets to make sure they are executable. Typo error in the fixPermissions() routine Access.fs : Deploy various strategies to go around open_basedir php inconsistencies. Access.fs : Use copy() when driver is not remote, it's much more efficient Access.fs : X-Sendfile needs UTF8 Action.powerfs : Do not sleep() at the end of the archive creation, otherwise the zip_operation file is created again Access.fs : "Purge" action was commited commented [Gui] Place the window.opener tentative inside a try/catch to avoid permission error Adapt tree scrolling when focusing on a given node, + compile Fix dragndrop & scrolling problems. NL2BR for line feeds in the notification body Editor.browser : url broken if there are paremeters in the current url Editor.browser : Filehandle left open, was breaking download on CentOS [Plugins] Meta.simple_lock : Simple "locking" implementation : manually lock/unlock files to other users. Action.skeleton: custom_target_url typo error Auth.ftp : Translate FTP dynamic login screen / Translate yes/no options Uploader.flex : FlexUploadProcessor, double utf8 decoding was breaking special chars! Uploader.html : Make sure no to close the uploader if some file is still loading Uploader.html : Fix the allowed extension mechanism Access.ajxp_conf : fix MIXIN_MESSAGE appearance in Wallet data german translation for action.share Fix uploaders ALLOWED_EXTENSIONS usage (comma separated list), and text for other uploaders to enable flex if it's the only one. [Core & Language] Add a new test for detecting the CLI php Catch exception in webdav backend and encapsulate in a webdav error. Fix compat version of json_decode, and make sure to expect the "assoc" version of the function, as the compat version only support this (not the stdClass). Was breaking upgrade for php5.1.X Weirdness in serializations with the inferOptionsFromParent property, seem to be fixed by setting it private with getter/setter. Was breaking share metadata in templates children... For php 5.1, the protected nature of the properties fail, do not call them directly, use the getter() instead. AjaXplorer 4.0.1 Release Note ------------------------------------------------------ This is a bugfix release. [New] + "Default Role" implementation : like "Default Rights", all newly created users will have this role. + Command-line delegation for both "compress" and multiple "download" actions, using the server "zip" command. + Option for delegating the dowloads to the server, using the X-SendFile server module (external module to install, available for Apache, Lighttpd & Nginx). [GUI] Fix IE7 double click for opening in external window : closing the lightbox too fast was creating error with the shadower script. Default double click switch to "download" if no openable editor available. Typo error onCancel / onComplete function [Plugins] [access.fs] Error in readFile was breaking multiple files download in any other browser than Chrome (wrong headers sent) [access.dropbox] Missing columns definitions for dropbox plugin / Update dropbox-php for API 1.0, plus patch to skip SSL certificate, plus OAuth negociation at repository initiation. [conf.sql] Fix conf.sql for templates children [downloader.http] Move upload>subMenu as a downloader.http override, thus no submenu if this plugin is not active. [editor.audio] Wrong tooltip for Volume Button [access.mysql] Add DEFAULT_RIGHTS option for Mysql driver [editor.diaporama] Handle "array" config case during serial/deserialization (only applicable in editor.diaporama until now, was breaking its configuration) [editor.jumploader] Jumploader old doc was not correctly reported [log.sql] Forgotten DIBI Require [Core Auth] ALLOW_CROSSUSER_SHARING : Do not compare to === true "guest" user handling when ALLOW_GUEST_BROWSING is not active. Better check for delegate repository creation, check for errors before creating anything. New method AuthServide::isReservedUserId() for a future modularization of the "guest" concept. [Misc] Fix background action when users are not enabled. Fix metastore & meta plugin when no user enabled! Rename default text file and update the content Fix backgroundPanel style Ability to transmit directly a javascript instruction to the backgroundManager ------------------------------------------------------------- AjaXplorer 4.0 Release Note This is a major version release. Check ajaxplorer.info for complete description. Below are described the changes introduced since v3.3.5 [GUI] Fix scrolling overlay in FilesList DisableNavigation when search input text is focused Correctly resolve icon source in Search Engine Remove google API alert, as it’s now commercial Avoid full gui blocking if referencing a wrong message ID for action text Clean destroyElement() if method exists Fire events before/after rows initialization and rows clearing Various hacks : go through modifiers even is column is hidden, passing a fourth argument in that case. ChooseOther now implements a full mechanism to remember mimes to editors for the user. Clean destroy of SliderInput. SoundManager : display currently playing with specific class. Fix InfoPanel currentPreviewElement destruction Scroll overflowX in gridMode Fix CodeEditor resize Fix various issues with drag’n'drop, particularly polluting IE Fix Share Users autocompleter not appearing in IE (insert the box in the body for good positionning) Detect Modernizr.multiplebgs and disable overlay icons if not present, otherwise it makes an empty icon. [CORE] New method getUniqueActivePluginForType() and application in the metastore users Silently test library searching, to avoid open_basedir errors, will return false anyway Silently catch meta sources error Implementation of editor.soundmanager Filter the registry actions before outputting ALLOW_GUEST_BROWSING broken AJXP_FORCE_LOGPATH optional constant for easing RPM packaging Fix : do not load extensions contribution of inactive plugins. Various fixes for widget case (when SERVER_PREFIX_URI is set) Create a separate template for the tests results… Skip brute force login with a log when server is in Debug mode AUTH_DRIVER drupal sample included Ignore Disabled access plugins, either in the new driver list, or in the current repository list silently set_time_limit [DOCUMENTATION] Display plugin doc if presentAdd a note to explain how to force the flash uploader usage Re-organize Settings data Massive PhpDocs comments Massive Plugin_doc files & screenshots Remove old README from webdav plugin, now the role of plugin_doc.html [PLUGINS] Editor.SoundManager : add an active condition to limit to browsers that support canvas, otherwise it’s buggy. Gui.ios : Fix # in IOS URL parsing access.ajxp_conf : Fix filenames again auth.basic_http : Daniel Berteaud patch for configuring logout URL for basic http. Index.lucene : Auto-remove false indexes at search time, does not seem to impact the timing access.ftp : Fix « permission fixing » losing the folder nature, and remove the fix from ftp wrapper.