Fork me on GitHub

FileZ

General points

FileZ is an application developped by the Avignon University. It provides a way to upload and manage files you want to share through a web interface and unique URLs (http), inspired by the perl/mod_perl application filex.

Screenshots :

Uploaded file list Upload form Install form

Requirements and install instructions :

The installation is very simple, follow the documentation at the bottom of the github page.

Downloads :

  • Packages
  • Git
  • 74 Responses to “FileZ”

    1. e}{o says:

      Hello,

      I’m interested in translating your marvelous application into spanish.
      If you could point me in the right direction on how to start I would be delighted to make this tiny contribution to the project.

      Thank you.

    2. Miniwark says:

      @exo i think than you have to work with the files in /i18n

      apparently this is translated with gettext so
      - copy the ‘fr’ folder to a ’sp’ one
      - translate the file LC_MESSAGES/default.po
      - then generate default.mo with msgfmt (gettex)
      You may also use the PoEdit translation tool

      ——
      Suite de mon retour de passage en prod :

      - J’ai l’impression qu’il n’y a pas de timeout sur les sessions identifications. Cela pourrais poser problème avec les ordinateurs en accès public ou en les navigateurs en mode kiosque (bibliothèque, etc.). Bien souvent un utilisateur ne pense pas a fermer sa session. Un timeout de 30 minutes à 1 heure devrait suffire.

      - Malgré de nombreux essais et bidouilles de php.ini je n’ai pas réussi a utiliser l’outil de progress upload d’APC. C’est sans doute une limitation de mon serveur (PHP ou Apache incompatible, ou conflit avec un autre module ou il n’est tout simplement pas d’humeur) par contre j’ai réussi a utiliser le module php UploadProgress : http://pecl.php.net/package/uploadprogress

      Pour ceux que cela intéresse voici comment je m’y suis pris :
      (en m’inspirant de http://t.wits.sg/2008/06/25/howto-php-and-jquery-upload-progress-bar/ )

      __
      1) installer uploadprogress à l’aide de pecl :
      > pecl install uploadprogress

      2) l’activer dans php.ini ou créer un fichier /etc/php5/conf.d/uploadprogress.ini avec la ligne :
      extension=uploadprogress.so

      3) redémarrer apache et vérifier l’activation d’uploadprogress avec php_info()

      4) modifier le fichier app/controllers/Upload.php

      remplacer
      >if (! function_exists (‘apc_fetch’))
      > halt (HTTP_NOT_IMPLEMENTED, ‘APC not installed’);
      par
      > if (! function_exists (‘uploadprogress_get_info’))
      > halt (HTTP_NOT_IMPLEMENTED, ‘uploadprogress not installed’);

      et remplacer
      > $progress = apc_fetch (‘upload_’.$upload_id);
      par
      > $progress = uploadprogress_get_info ($upload_id);

      5) modifier le fichier resources/js/filez.js

      remplacer
      > $(this).prepend (”);
      par
      > $(this).prepend (”);

      et remplacer
      > var percentage = Math.floor (100 * parseInt (data.current) / parseInt (data.total));
      par
      > var percentage = Math.floor (100 * parseInt (data.bytes_uploaded) / parseInt (data.bytes_total));

      Au passage, pourquoi pas un choix entre APC et UploadProgress dans une version future, au niveau de la configuration (voir même HTML5 qui permet de faire ça sans rien installer côté serveur, si j’ai bien suivi).

    3. Miniwark says:

      Humm, une partie du code de mon message à été en partie coupé.

      ce qu’il faut surtout modifier dans filez.js
      > name=”APC_UPLOAD_PROGRESS”
      par
      > name=”UPLOAD_IDENTIFIER”

      au niveau de if (settings.progressBar.enable)

    4. Miniwark says:

      Décidément je suis fatigué :
      i faut aussi modifier dans app/controllers/Main.php

      > set (‘use_progress_bar’, (function_exists (‘apc_fetch’) && ini_get (‘apc.rfc1867′)));
      par
      > set (‘use_progress_bar’, function_exists (‘uploadprogress_get_info’));

      Sinon la barre de progression est désactivée si l’on désactive APC

    5. Arnaud Didry says:

      Hello

      @e}{o It would be great to see Filez translated into spanish. Miniwark exactly replied what I was going to say. I suggest you to use poEdit to edit the .po file. poEdit will also automaticaly update the default.mo file. To see the changes make sure your browser is configured with spanish as the prefered language. To share your work you should create an account on our bugtracker and add a feature request here http://github.com/UAPV/FileZ/issues Thanks a lot !

      @Bertrand, Merci pour ce retour très complet ! Les points que vous soulevez sont très intéressants, certains sont déjà dans la roadmap (la gestion des guests notamment, progression par HTML5). Pourriez vous créer des bug ou feature request pour chacun d’eux sur http://github.com/UAPV/FileZ/issues ? En attendant d’y répondre plus en détails sur un bugtracker plus approprié que ce fils de commentaire j’ai cependant quelques remarques.

      Je pense qu’il est possible de filtrer les utilisateurs en jouant avec le paramètre “accountFilterFormat” de la librairie Zend (http://zendframework.com/manual/en/zend.ldap.api.html). Essayez d’ajouter cette option dans [user_factory_options] de filez.ini.

      Votre solution pour suivre la progression de l’upload est intéressante, on pourrait effectivement rendre configurable la méthode utilisée. A réfléchir car les prochaines version de Filez vont s’orienter comme vous l’avez dis vers une solution coté client, probablement à l’aide de la librairie http://www.plupload.com. J’avais commencé il y a quelques mois l’intégration de cette librairie mais elle ne me semblait pas très stable à l’époque. Je vais refaire des tests pour la version 2.1 ou 2.2.

      Merci encore pour votre contribution !

    6. Miniwark says:

      @Arnaud Voilà qui est fait ! Je ne trouvais pas le tracker.
      Je regarderais aussi du côté de la librarie Zend pour le filtre d’utilisateurs, même si je dois avouer que le Php ce n’est pas vraiment ma tasse de thé.

    7. Arnaud Didry says:

      Merci de votre aide ! Je suis assez chargé en ce moment mais je vais essayer de m’occuper de ces points rapidement pour finaliser la version stable.

      Pour votre problème de filtre, la ligne à ajouter dans filez.ini devrait ressembler à ça :
      accountFilterFormat=”(&(objectClass=posixAccount)(uid=%s)(mailenable=true))”

      Merci encore !

    8. Sébastien says:

      Bonjour,

      je n’arrive pas à faire fonctionner la tache cron pour supprimer les fichiers une fois la date dépassé :

      code :

      LOG_DIR=/var/log/file

      # Url of the CRON web task
      URL=http://intranet/file/scripts/cron.sh

      url_output=”`wget -q -O – $URL`”

      if test -n “$url_output”; then
      cd $LOG_DIR
      echo “[`date +'%FT%T%:z'`] [CRON] wget output: “$url_output >> “$LOG_DIR/filez-cron-error.log”
      fi

      Je ne comprends pas vraiment le paramétre Url of the CRON web task ?

      Pouvez vous m’aider ?

      Merci

    9. Arnaud Didry says:

      Bonjour Sébastien,

      Ce paramètre n’est effectivement pas très clair, je l’ai modifié dans le dépôt svn.

      A partir de maintenant ce paramètre correspond simplement à la racine web de filez (ex: http://filez.site.com).

      Si vous restez sur votre version, URL correspond à la racine web suivie de “/admin/checkFiles” par exemple : URL=http://filez.site.com/admin/checkFiles

      Bonne journée

    10. Laurent says:

      Bonjour,
      Il est question d’une mailing list. Ou est-elle ?

    11. Arnaud Didry says:

      Bonjour,
      J’ai corrigé la FAQ, la liste de diffusion se trouve ici https://listes.univ-avignon.fr/wws/info/gpl
      Bonne après midi

    12. Gauthier says:

      Bonjour

      Je test actuellement Filez, mais impossible de me loguer, dès lors que je rentre des identifiants valide, je retombe sur la page de login.
      Si un mauvais login est entré, j’ai bien un message d’erreur (j’ai également activé le mode debug), mais rien dans les logs !

      ce genre de problème est il déjà arrivé ?

      merci

    13. Gauthier says:

      Hum c’est bon j’ai trouvé, il manquait un champs dans la BDD des users, je n’avais pas fait attention !

      désolé, et bravo pour ce script ;)

    14. ludo says:

      Bonjour,

      Quel champ te manquait-il dans la DB des users ?
      J’ai exactement le même problème, page de login en boucle…

    15. Arnaud Didry says:

      Bonjour,

      Les champs manquants devraient être affichés dans le fichier filez-error.log

      Je vais ré-intégrer un script de création d’une base utilisateur dans la prochaine version. En attendant vous pouvez utiliser celui ci http://github.com/UAPV/FileZ/blob/c37c7d5f74313513ff2a31ee8320dcbd70db7a0a/config/db.user-schema.sql

      Bonne installation

    16. ludo says:

      Bonjour,

      Ca fonctionne merci :)

      Par contre, j’ai des erreurs bizarres… genre impossible de télécharger un fichier si il n’est valable qu’une journée, ou si il est protégé par mot de passe… mais pas systématiquement !

      Où puis-je vous remonter les infos ?

      Merci en tout cas pour ce super soft, une fois que les corrections de bug seront fini, ça sera un must :=)

    17. e}{o says:

      Hello,

      I have finished the spanish translation and it works fine!
      I also Added this commento to the bugtracker, but I dont know how to upload the files.

      PROBLEM:

      I canot use the automatic email system, My postfix reports the following:

      —–Jul 20 13:03:26 ymedio postfix/smtpd[21994]: warning: Illegal address —–syntax from ymedia.es[10.10.16.205] in RCPT command:

      And this is my config:

      [email]
      from_email=”my_email@address.net”
      from_name=”blabla”
      host=”my.local.postfix.server” <– My postfix
      name="blabla"

    18. Arnaud Didry says:

      Great news ! Thanks a lot !

      I didn’t noticed that it wasn’t possible to upload files to the github bugtracker, this is really annoying. Could you send me your file by mail ? (arnaud.didry__a__univ-avignon.fr)

      I never have encountered an error like yours; Have you more informations about it in the filez logs ? Do you notice anything anormal in the database with the following sql request “SELECT DISTINCT (uploader_email) FROM `fz_file`” ?

    19. Arnaud Didry says:

      Bonjour Ludo,

      Je ne viens que de voir votre message, désolé pour le retard. Pourriez vous créer un ou plusieurs tickets sur http://github.com/UAPV/FileZ/issues avec le maximum de logs possibles (voir FAQ) ? Vous avez également la possibilité d’activer un mode “debug” pour afficher directement les erreurs sur la page web. Ajouter pour cela la ligne “debug=true” dans la section [app] de filez.ini.

      Merci d’avance

    20. Miniwark says:

      Bonjour Arnaud, quelques petites nouvelles en testant la version 2.0.0

      1) La ligne de configuration pour le filtre LDAP est la suivante :
      accountFilterFormat=”(&(objectClass=posixAccount)(uid=%s)(mailenable=OK))”

      (c’est ‘OK’ pour mailenable et non pas ‘true’)
      Cela bloque effectivement mes utilisateurs qui n’ont pas de compte mail actif

      2) La migration depuis Filez 1 c’est faite comme un charme mais …

      3) Je vais devoir vérifier dans le détail la partie pcel:progressbar car cela ne semble plus fonctionner après la migration.

    21. forum69 says:

      Bonjour,

      Pour ceux qui souhaitent s’appuyer sur un serveur LDAP OIDDAS Oracle pour l’authentification, voici les paramètres à positionner :

      [user_factory_options]
      baseDn = “cn=Users,dc=domain,dc=fr”
      host = “serveur.domain.fr”
      useSsl = false
      bindRequiresDn = true
      username = “cn=p.nom,cn=Users,dc=domain,dc=fr”
      password = “password”
      accountFilterFormat = “(&(objectclass=*)(uid=%s))”

      [user_attributes_translation]
      firstname = “givenname”
      lastname = “sn”
      email = “mail”
      id = “cn”

      lv.

    22. Miniwark says:

      Je confirme le fonctionnement de la progressbar sans problèmes

      Encore bravo pour ce superbe boulot !

    23. forum69 says:

      bonjour,

      j’ai un question technique conernant l’accès à filez :

      je souhaite que le depot des fichiers ne puisse se faire que depuis le LAN privé.

      Par contre, le download des fichiers doit pouvoir être possible à la fois depuis le LAN et Internet.

      Quelle solution pourrait être déployée ?

      EN effet, en interne et en externe, le FDQN sera le même :
      serveur.domain.com.

      la seule différence pour le download d’un fichier est l’identifiant rajoutée : serveur.domain.com/dfdf565

      merci de vos avis.

    24. Arnaud Didry says:

      Bonjour,

      Une des solutions serait d’utiliser mod_rewrite. Ne m’y connaissant pas vraiment dans les règles de réécriture je ne vais vous donner que quelques pistes.

      L’URL à bloquer pour éviter tout upload est /login

      Ce site pourra peut être vous aider pour construire vos règles en vous basant sur des plages d’IP : http://www.netshinesoftware.com/component/option,com_myblog/Itemid,65/show,Restricting-access-to-a-URL-by-IP-address-using-mod-rewrite.html/

      Bonne courage.

    Leave a Reply

    Subscribe to RSS Feed