Troubleshoot

My admin cannot change application global parameters anymore!

You have probably moved your super administrator inside a group. In that case, it automatically becomes a “group admin”: this user can manage the group users, roles and workspaces, but nothing outside of his group, and even less the application global parameters.

To fix that, you can edit the user groupPath parameter inside the database. Search the table ajxp_users, for the line of your admin login, and replace the groupPath value by “/” (without quotes). Log back as this admin.

Help, I lost admin rights!

I you messed up your install by tweaking authentication options and you cannot login as admin user anymore, there is an easy way to give a user the administrative rights via the database.

Look for the ajxp_user_rights table, here you will find the most important options of each users. Search for the line containing login = YOUR LOGIN and repo_uuid = ajxp.admin and set the value to 1. Then login as this user.

After migration from 5.X to 6.X, I still see the old GUI

  1. Goto database management (phpmyadmin or else)
  2. Select your Pydio database
  3. Select the table “ajxp_plugin_configs”
  4. Delete row/entry gui.ajax
  5. Log onto ftp or shell
  6. Go to your your Pydio data directory for me /var/www/***/data
  7. open cache directory /var/www/***/data/cache
  8. delete files “plugins_cache.ser”,”plugins_queries.ser”,”plugins_requires.ser”
  9. clear browser cache
  10. If you have installed php-apc or other caching solutions, flush their cache
  11. Reload browser page

Those steps worked for Niklas, see this thread from the forum, hopefully for you too.

Hosting many instances side-by-side, things get messed up when I log to one instance and switch to another.

You can add the following instruction in your base.conf.php file,

$INI_SET['session.cookie_path'] = dirname($_SERVER['REQUEST_URI']);

This will ensure that the session cookie only concerns a given URI of your domain, and thus cookies won’t be shared between the various instances.

The "share" button does not appear

Inside the conf/bootstrap_context.php file, there is a folder defined by PUBLIC_DOWNLOAD_FOLDER, that is by default pointing to YOUR_INSTALL_PATH/public. You have to create this folder and make it writeable by the server, to see the « Public URL » action appear in the GUI.

Of course, you can point to a different folder. By default, this will then generate a link with the current ajaxplorer URL followed by « /public/ » and the php file. But you can change this URL by editing the PUBLIC_DOWNLOAD_URL to whatever you want. That way, your ajaxplorer can be in a private zone, and create public links inside a public zone.

Everything is working fine, except all downloads are corrupted!

In some case, we have detected problems with the gzip encoding and some browsers. Try disabling the “Gzip compression” in the Pydio Core Options. Another common issue can be that only small files turn to always download as 0-bytes files: this is caused by your php setting "Output Buffering" not being set to Off. Find your php.ini and set this value. Do not forget to reload your webserver afterward.

How do I solve the character encoding warning at startup ?

Most distributions do not set the locale used by the server filesystem in webserver startup script or php.ini configuration file. While it’s ok for most php application, Pydio must know what character encoding the filename use in order to display them correctly.

A usual safe value is en_us.UTF-8, or an equivalent value for your language.

If you don’t know what to put there, you should try this: - If you have shell access to your server, type: - export | grep « LANG » - The output usually says « lang_Country.encoding » (for example en_US.UTF8) - Use that value - If you don’t have a shell access, please check Wikipedia for your language most used character encoding (for example, in France it’s ISO8859-1), and try with this encoding. - If you are uploading your file by FTP, chance are high that the encoding you need is ISO8859-1 (as most FTP server use this encoding) - If none of the above works for you, please ask on Pydio Forum, or blame your hoster :-)

Pydio remote filesystems repositories tries to detect remote filesystem encoding, so you shouldn’t have to fix it for remote filesystems (ssh, ftp, remote access).

I created a workspace but I cannot see it

This often happens if you have created a repository but not granted access to this repository for each user. Logged in as admin, open the Settings repository, Users Management tab, and give read/write access to the newly created repository to whichever user you want.

After modifying a plugin, my changes do not come up!

There is an optimization cache that keeps track of the full plugins registry. You’ll have to simply delete the 3 files plugins_requires.ser, plugins_queries.ser, and plugins_cache.ser located either in server/conf/(until 3.2.4) or in data/cache (afterward) and refresh your browser to regenerate them. The registry should be up-to-date.

A good practice is also to clear the i18n cache at the same time : data/cache/i18n/*.ser.

For developers, you can even disable this cache totally by using the AJXP_SKIP_CACHE variable inside data/conf/bootstrap_context.php.

Bunch of E_NOTICE errors, blank page

Change the error_reporting level of PHP to not display the E_NOTICE errors.

This can be done either by setting a php_value inside an .htaccess file at the root of your installation, or more simply by modifying directly the php.ini file of your server. A typical « production » value recommended by the PHP team is error_reporting = E_ALL &~E_NOTICE

You may ask yourself why do such errors appear?! These errors are more warnings than errors and do not prevent the application from functioning.

Blank page or ugly PARSE ERRORS

Two basic checks : is your PHP version > 5.3 ? On some shared hosts, you must activate PHP5 in a given folder by setting an .htaccess instruction. Refer to your host documentation. Second question (particularly on Linux installations ) is dom-xml extension enabled for PHP? If not, update and install (via yum or equivalent) the php-xml package, and everything should work fine.

Fine Tuning your installation

Can I add a custom header/footer to the GUI

The Pydio default GUI is defined inside the plugin gui.ajax.

As you can see, the content of the « ajxp_desktop » (i.e. the application main zone) is described here precisely. Now have a look at the hook.demo plugin : you can see sample of HTML snippets added « before » and « after » the main « ajxp_desktop ». Best way is to activate the hook.demo properly and put your own header/footers here, so that it won’t be overriden by a future update. More easy can be to copy the hook.demo samples inside the gui.ajax.

Read the plugins section of this documentation, as well as the developper doc!

How can I filter some file extensions, both for display and for upload?

DISPLAY : If you are using the standard filesystem driver, there is a specific configuration file that you can edit to limit some file extensions or folders to be displayed in Pydio. Look for the Access.FS plugin in the administration dashboard and update the following parameters globally:

  • SHOW_HIDDEN_FILES : value true or false
  • HIDE_EXTENSIONS : value 0 or an array of extensions to hide
  • HIDE_FILENAMES : value 0 or an array of file names to hide
  • HIDE_FOLDERS : value 0 or an array of folder names to hide

UPLOAD : For the upload part, it’s not done via configuration, but you can easily hack one file to suit your needs. Open the file plugins/uploader.flex/flash_tpl.htmlat line 8 :
You can see :

$FlashVar = ‘&fileTypes=*.*&fileTypeDescription=All%20files&totalUploadSize=’.$confTotalSize.’ […. end of line]

You can edit the « fileTypes » and « fileTypeDescription » variable using for instance the following syntax :

[…]&fileTypes=*.doc;*.jpg;*.gif&fileTypeDescription=My%20Type%20Description&[…]

Be aware of replacing the « space » by %20 in the description. Once you’ve made changes, clear your browser cache to be sure to see your changes happen.

Is there a way to colorize files or folders like on MacOS finder?

Yes, check Pydio Plugins > Meta Plugins in the documentation, use the meta.user plugin with the special keyword « css_label ».

Is there a mail notification feature?

Yes, please check the Administrator Guide for enabling notifications.

How do I set the default display to “thumbnails” with a given size?

Open the file plugins/gui.ajax/manifest.xml and modify the inside the tag. « thumbSize » accept only numeric values, « displayMode » accept only “list”, “details” or “thumb” values. Warning, both properties are overriden by user’s preferences, so you should test your changes on a clean user (create a new one for tests purposes).

How can I totaly disable an action?

In Pydio, all actions are defined and aggregated inside XML files. These files are brought to the application generally via plugins, except for some very basic actions defined in server/xml/*.xml. First thing is to see what plugins are active (basically, if you have no idea, search in access.fs, conf.serial and auth.serial), and look for the XML block. Comment the whole bloc (using <!– comment content –> markers) if you want to totally disable the action, or finetune the attributes of the action if you want to leave the action enable but just remove it from the toolbar, the contextual menu,etc.

Do not forget to clear the plugins cache after your changes.

Is there a way to create a rating system on files?

Add first a metastore.serial Meta Source to the workspace.

Add a « Meta Source » to your workspace (either via the GUI or the bootstrap_repositories.php file, depending on where your repository is defined), using the meta.user plugin. As a « meta_field » use the specific keyword « stars_rate », and as « meta_label », whatever you want, « Rating » for example.

How do I add editor support for a file extension?

[From version 4, the “Open with…” action allows you to choose any editor to open any extension type, and will remember this choice as a user preference]
Go to the plugin editor you are interested in, and open the file plugins/editor.editor_name/manifest.xml. Inside this file, you can see an attribute « mimes » of the main document element, « ». Just append the files extensions you want here, separated by commas.

How do I create user-specific “private” workspaces?

As admin, open the Settings window, click Create Workspace and in the Path input, use the AJXP_USER keyword to create a path that will be adapted to each user. For example, use the following configuration:

Repository Label : My Files
Driver : File System
Path : AJXP_INSTALL_PATH/files/AJXP_USER
Create : Yes
Recycle bin folder : recycle_bin

(Each user will have their own unique repository and the admin can view them when browsing the Default Repository packed with Pydio.)

How do I grant a default right to all users for a given workspace?

You can use the Default Rights parameter of a workspaces configuration. Allowed Values are « r » (read), « w » (write) and « rw » (read write).

If you’re dealing with the default workspaces, this is done inside the conf/bootstrap_repositories.php file, inside the DEFAULT_RIGHTS array key. Otherwise, it’s done via the Settings panel.

You can also use the Roles feature by creating a role that will be automatically applied to all users and set their ACL's in there.

How do I raise the maximum upload size ?

File upload size limit is not an Pydio limitation, but a server configuration for PHP.

If on a shared host, it is unlikely that you can access this configuration.

If you are on your own server and can edit the PHP configuration file (php.ini), please have a look at the upload_max_filesize instruction on the PHP website. Do not forget to update the post_max_size as well.

If your webserver is IIS, it is not enough you should configure maxAllowedContentLength also, if you not do this you would have an 10054 error in the browser and a 400.13 error on the http log of IIS. A great article exist about it, at the official site :http://www.iis.net/configreference/system.webserver/security/requestfilt...

Important :

Once you have changed your server configuration, you will have to first restart it (the server software, not the machine!), and then to see Pydio correctly apply this, follow the following step : - open the Global Configurations > Core Configs > Uploader Options, - set the upload file size to 0 and save. - When re-opening, you should see the new value from php.ini correctly loaded.

Advanced Customizations

Can I add a custom header/footer to the GUI

The Pydio default GUI is defined inside the plugin gui.ajax.

As you can see, the content of the « ajxp_desktop » (i.e. the application main zone) is described here precisely. Now have a look at the hook.demo plugin : you can see sample of HTML snippets added « before » and « after » the main « ajxp_desktop ». Best way is to activate the hook.demo properly and put your own header/footers here, so that it won’t be overriden by a future update. More easy can be to copy the hook.demo samples inside the gui.ajax.

Read the plugins section of this documentation, as well as the developper doc!

The JS and CSS are not readable! Is this a cripple-ware ???

No. They are just minimized for better performances.

Change the AJXP_CLIENT_DEBUG variable to true in the conf/bootstrap_context.php configuration file. After doing so, Pydio will load all JS files and CSS files separately, instead of the big compressed file used normally.

Where are the log files?

By default, the logs are stored in the database, inside the ajxp_logs table. You may also want to switch to text-based log files, via the Settings panel.

I cannot find the source of the flash uploader.

The flash uploader is in fact not pure flash but FLEX, based on the FLEX3.0 library. You can download a free version of the compiler on Adobe website. The ActionScript and MXML sources can be found in the Pydio Git repository, below the core/flex folder.

Licensing Questions

Can you explain me the AGPL V3 licensing ? Can you validate my use of your AGPL Software ?

Unfortunately, we can not give legal advice on AGPL licensing. We suggest you to seek legal advice.

Can I integrate Pydio inside my proprietary software?

If your software license is not open-source or not compatible with AGPL, NO, you can’t integrate Pydio freely in your proprietary software. But you can contact us and we can discuss an alternative licensing model that would allow you to do so. We do provide OEM licensing, or private licensing.

Can I modify and/or integrate Pydio inside my open-source software?

As long as your software license is compatible with the AGPL, that the modifications are contributed back to the community, and that you leave the Pydio copyright link on the user interface, yes you can.

Can I use Pydio to offer a commercial service, like a cloud storage service?

Under the very strict AGPL conditions as explained above (leaving the source code link), yes, you can. But beware that this means that you must publish every modification you make to the code, and as the license is « copyleft », you will probably also have to publish the rest of your administration panel under a compatible license if Pydio is integrated with it. So you’d probably want to contact us and buy a specific commercial friendly license. We also offer cloud service provider, the possibility to offer their customers our trial of our Entreprise Distribution.

Can I use Pydio for free on my website, as a company?

As long as you do not modify Pydio deeply (modifications like theming or little tweaks are not taken into account), and as long as you leave a link to the source code (i.e. to this website, except if you want to host the source code on your own website) on the user-interface (this is the particularity of AGPL against GPL), yes you can.
For example, if you change the logo of the splashscreen (using the gui.ajax plugin options) and let the « Pydio Community - Free non supported version © C. du Jeu 2008-2016 - https://pydio.com » mention, this will be ok. If you want to remove this reference, you should contact us.