BuddyDrive 1.1

Publié le

par

Crédits Photo : port-d-alon by im4th, on Flickr

La version 1.1 du plugin que je vous propose pour organiser les échanges de fichiers au sein d’une communauté motorisée par BuddyPress est disponible dans le repository de WordPress. Découvrez les nouvelles fonctionnalités introduites dans cette version.

Il y a presque deux semaines, le matin avant de prendre le train pour la côte d’Azur, je spoilais au sujet de cette nouvelle version de BuddyDrive :

Pendant ces vacances, j’ai pu profiter de la mer, (le thumbnail de ce post est une des photos que j’ai prises lors de mon séjour), du soleil, de la compagnie des moustiques (mes jambes sont ravagées !!).. Bref j’ai rechargé les batteries !

Et pendant que ma petite famille faisait la sieste, j’en profitais pour peaufiner cette version de BuddyDrive. Durant ces vacances, il y a eu un jour particulier pour moi : le 16 juillet. Il y a 39 ans, je naissais dans la région parisienne… Et, pour cet anniversaire, les tweets envoyés par la communauté BuddyPress et certains potes WordPressiens m’ont vraiment émus, aussi je tenais une nouvelle fois à les remercier. Merci donc à (par ordre de réception) :
@cree1site, @benkenobi07, @slaFFik, @thierrypigot, @karmatosed, @buddypressdev, @JJJ, @modemlooper, @mercime_one, @sbrajesh, @BoweFrankema, @seluvega.

Il y a même un tweet que je garde précieusement car c’est mon plus beau cadeau de cette journée :

Riche période dans la mesure où le lendemain, la version 1.8 « Di Fara » de BuddyPress était released, alors que je dégustais une pizza dans un restaurant bordant le port de San Nari ;). Bref, Après ce petit propos introductif, entrons dans le vif du sujet!

So, what’s new in 1.1 ?

La première version du plugin (dont la publication dans le repo fut un moment compliqué pour moi, merci encore @boone et @JJJ pour leurs aides précieuses), a reçu un accueil super positif et ça m’a fait super plaisir étant donné l’investissement que j’y avais consacré. D’ailleurs, juste après sa publication, je me confiais @Dan dans ces termes : « cette extension m’a fatigué, j’ai besoin d’un break et d’une bonne période pour l’oublier avant d’y retoucher! ».

Cette période estivale a donc été le moment que j’ai choisi pour m’y replonger. Alors, j’ai étudié les différents topics déposés dans le forum support du plugin et cette version répond à la majorité des « feature requests ». Je repousse à plus tard l’une d’entre elles qui consiste à interfacer les API Google Drive / Dropbox et autre AWS (sur ce dernier point, il existe sur le repository un fork de BuddyDrive, que je n’ai malheureusement pas eu le temps de tester…).

Un contrôle plus fin des quotas BuddyDrive des utilisateurs

A chaque rôle son quota BuddyDrive !

Jusqu’à présent tous les utilisateurs (y compris l’Administrateur) étaient logés à la même enseigne, avec cette version, il devient possible d’affecter des quotas différents par rôle (en réponse à ce topic).

Tant qu’on y est, personnalisons le quota par utilisateur !

Cette nouveauté est intéressante pour affecter des quotas différents à une liste d’utilisateurs, mais j’ai pensé que HansRuedi avait raison et que permettre d’affecter un quota différent par utilisateur pouvait vous intéresser. Ainsi en réponse à son topic, depuis la page d’administration du profil de l’utilisateur (ou dans celle de la network administration en cas de multisite), il est possible de spécifier un quota particulier pour l’utilisateur désiré.

Alors comme les deux dispositifs cohabitent, si vous modifiez le rôle d’un utilisateur, c’est le quota du rôle qui lui est affecté par défaut. Si toutefois, il y a besoin de spécifier un quota différent une fois le changement de rôle effectué, il conviendra de modifier ce quota une nouvelle fois depuis l’administration du profil utilisateur.

Qui a consommé quoi ?

Enfin pour terminer sur cette partie dédié à l’espace de stockage disponible pour chaque utilisateur, j’ai pensé qu’une nouvelle colonne dans la liste des utilisateurs (Network Administration des utilisateurs en cas de multisite) affichant le quota consommé serait une information également intéressante.

BuddyDrive et les groupes

Au risque de paraître entêté, je persiste, malgré les différentes demandes consistant à rendre possible l’upload / l’attachement de fichiers depuis les groupes, dans ma première idée : BuddyDrive est avant tout un outil dirigé vers les membres de la communauté. Les fichiers sont donc attachés à ces membres qui en sont propriétaires. Il est donc naturel que l’uploader soit dans le profil du membre. En revanche, le groupe dans sa fonction de regroupement d’utilisateurs est très intéressant pour BuddyDrive en tant qu’option de partage du contenu par son propriétaire.

Ceci étant dit, j’ai réécris la partie Groupe de BuddyDrive pour profiter des évolutions introduites dans ce domaine par la version 1.8 de BuddyPress. En réponse à ce topic, j’ai également corrigé un « bug » (en fait un oubli de ma part) qui empêchait de partager des fichiers ou dossiers dans des groupes masqués. Enfin, depuis la page de settings de BuddyDrive il est désormais possible d’automatiser l’activation de BuddyDrive pour les nouveaux groupes créés (j’intègre donc ce trick à BuddyDrive).

Cocher la case pour automatiser l’activation de BuddyDrive pour les nouveaux groupes…

Personnalisation des slugs et noms du plugin

L’illustration ci-dessus commence à dévoiler cette possibilité de personnalisation des éléments de navigation de BuddyDrive. Il est donc possible de modifier la sous navigation principale et celle des fichiers ou dossiers partagés par les amis et ce jusqu’à la terminaison d’url (slug). L’illustration ci-après démontre l’impact d’un changement de nom/slug sur la navigation de BuddyDrive.

Personnalisation de la sous navigation utilisateur

S’agissant de la navigation BuddyDrive, étant donné que ce plugin dispose d’une « directory page » (qui est masqué des wp_list_pages() ou autres menus), il s’agira d’éditer le titre de cette page afin de modifier le nom de la navigation principale et par la même occasion de la page qui est affiché en cas de fichier protégé par un mot de passe.

Changement du titre de la page BuddyDrive et..

!important : j’aurai pu me contenter d’en rester là s’agissant de la personnalisation du plugin et indiquer de ne pas modifier le slug du plugin (dans l’illustration ci-dessus le champ « permalink ») étant donné les impacts potentiels sur les fichiers et dossiers. Mais je me suis rappeler de la loi de Murphy! Alors, j’ai pris le temps de prévoir ce cas de figure.

Quoiqu’il arrive, si vous avez peur de mettre les mains dans le cambouis, je vous déconseille de changer le slug principal du plugin dans le cas d’un upgrade du plugin. Car que se passera-t-il dans ce cas ?

  1. Le code wpembed du plugin sera cassé dans les activités, messages, etc.. et il ne restera plus que des liens obsolètes vers les fichiers ou dossiers qui ont été partagés avant le changement de slug.
  2. Si des liens ont été transmis par email ou tout autre moyen externe au blog, ils seront obsolètes

S’agissant des liens devenus obsolètes, j’ai prévu un système qui vérifiera le slug original du plugin pour éventuellement rediriger vers le slug personnalisé et éviter une 404. Attention cependant car cela ne marchera qu’une fois ! Si vous changez de slug 2 fois de suite, les activités / messages partagés avec le slug du premier changement ne seront plus récupérables. S’agissant des wpembed codes éparpillés dans les activités ou les messages, il est possible de les réparer en réalisant des requêtes SQL comme illustré ci-dessous.

Voilà qui répondra à ces topics (#1, #2), et qui semblait être une vraie attente pour les administrateurs.

Tada!

Voilà, il ne vous reste plus qu’à upgrader ou découvrir cette nouvelle version depuis le repository WordPress

22 réponses à “BuddyDrive 1.1”

  1. Avatar de Jessy
    Jessy

    Mais vous mangez quoi au p’tit déjeuner… je n’arrive pas à suivre 😉 en tout cas merci pour ces nouvelles évolutions, ma roadmap des vacances n’en fini plus de grandir…

    Reste que avec cette chaleur, je vais peut-être tester tout ça, avant la rentrée 😉 bien au frais, feedback à suivre alors

    1. Avatar de imath

      Merci pour ton commentaire 🙂 bon courage pour la roadmap. Sinon mon p’tit déj c’est café + un jus d’orange 😉

  2. Avatar de Sam
    Sam

    I get the following error after upgrading to new BuddyDrive version just released and activating the Group BuddyDrive feature. When I go into the admin panel of the group under the BuddyPress section and select BuddyDrive, the following error occurs:

    Fatal error: Using $this when not in object context in /home/content/89/8370089/html/student/wp-content/plugins/buddydrive/includes/buddydrive-group-class.php on line 101

    How do I resolve this?

    Also, the ability to rename BuddyDrive to a site specific name does not allow you to change everywhere BuddyDrive is named as I think that was the original request.

    Great plugin and thank you for creating the plugin!

    1. Avatar de imath

      Thanks for your feedback. I’ll publish a new upgrade to correct the bug. It occurs when displaying a group in the WordPress Administration for Groups, that’s it ?

      I thought it was the case too !! Where are the places where BuddyDrive is not customizable. If it’s main nav, you can change the title of BuddyDrive WordPress page…

    2. Avatar de imath

      Sam can you tell me what are the WordPress and BuddyPress version you are using + multisite or regular ?

      Because i made a quick check about line 101 and this should also have happened under BuddyDrive1.0 at line 78 because they are almost the same..

  3. […] profite de l’été pour sortir la version 1.1 de son extension BuddyDrive pour […]

  4. Avatar de Mecanographik

    Salut iMath,
    Je teste ton plugin pour un intranet social qui auparavant utilisait le puissant plugin Buddypress docs, mais étant donné l’usage que je souhaite en faire, peux-tu me confirmer que la « Directory page », dont tu parles dans cet excellent article, permets de lister l’ensemble des documents uploadés, par exemple, par l’administrateur ?
    Grosso modo, une entreprise va concrètement avoir besoin de deux types d’usages :
    1) Permettre aux membres du réseau de partager des fichiers (dans des groupes ou pas)
    2) Permettre aux webmasters du réseau de mettre à disposition des documents officiels (fichiers) sur une page officielle (privée ou pas) et cette page serait-elle alors la « directory page »?
    Ma question: BuddyDrive peut-il répondre à ces 2 types d’usages ?

    Merci pour ta réponse ! 😉

    1. Avatar de imath

      Hello Pierre,

      Le 2/ n’est pas assuré par BuddyDrive. La directory page du plugin est masquée car elle sert à gérer le dld. Dsl.

  5. Avatar de Carl
    Carl

    Hey! great looking plugin!
    i’m converting a theme to buddypress, and buddydrive produces a blank page via this theme.
    Do you know what files is necessary to produce the buddydrive page?

    It lists as a tab, but produces a blank page.

    Cheers

    1. Avatar de imath

      Well since BuddyPress 1.7, a regular WordPress theme doesn’t need any specific transformation to display BuddyPress content.. So when you say « i’m converting a theme to BuddyPress », does this mean you are creating specific folders & templates and including ajax and js functions on the same model as BP Default ? If so, you need to check that your functions.php hooks after_setup_theme to add support for BuddyPress. See this link for more info about it.

      1. Avatar de Carl
        Carl

        Man, you just saved me a ton of work. thanks alot for that!

        and to answer, yeah, using the bp_template_pack’s to convert a premium theme. wouldnt do it if it hadnt been for it having built in a system i have to have.

        Have a good one! and keep up the great work 🙂

        1. Avatar de Carl
          Carl

          And if i can come with a feature request = share file\folder by user-invite!

  6. […] profite de l’été pour sortir la version 1.1 de son extension BuddyDrive pour […]

  7. Avatar de Laurent
    Laurent

    Bonjour Mathieu,

    J’ai fais l’installation de BuddyDrive sur mon site web. Cependant, je semble avoir des problèmes de compatibilité. Mon thème est parfaitement compatible avec BuddyPress mais il semble que le plugin ne l’est pas. Tout le contenu de la page BuddyDrive semble être en dehors de ma page contenu. Il se tasse à gauche et il ne semble pas être dans mon contenu de page.

    De plus, lorsque je clique sur «Sauvegarder» dans la page des settings, une page 404 de mon hébergeur apparaît.

    Y a-t-il une manière que prendre contact avec toi par email?

    Merci.

    Laurent

    1. Avatar de imath

      Hello,

      Nom du thème ? Version de BuddyPress et WordPress ?
      S’agit-il d’une configuration multisite, si oui j’ai l’impression que BuddyPress n’est pas installé au niveau du network mais sur un blog enfant.
      Je pense que le problème des settings peut être similaire à celui-ci :
      http://wordpress.org/support/topic/group-settings-issue?replies=12

      Ensuite, s’agissant du problème lié au thème, car BuddyDrive est un plugin BuddyPress donc forcément compatible avec BuddyPress!! Il est possible que si ton thème est spécialisé BuddyPress il ait oublié de le stipuler dans son functions.php. Si ton thème contient des répertoires du type activity, members, groups… directement à sa racine alors je t’invite à vérifier ce point :
      http://wordpress.org/support/topic/broken-theme-32?replies=5#post-4082582

      Si ça ne résout pas, alors je te contacterai par email.

  8. Avatar de Laurent
    Laurent

    Bonjour Mathieu,

    Merci pour la réponse rapide.

    Version BuddyPress: 1.8.1
    Version WordPress: 3.7.1
    Mon thème BuddyPress est SocialBuddy. Ce thème a été conçu spécialement pour BuddyPress.

    Il s’agit bien d’une configuration en multisite. BuddyPress n’est pas installé sur le site principal ni le network. Il est installé sur mon deuxième site web. BuddyDrive était aussi installé sur le second site web (en enlevant «Network: True» de buddydrive.php).

    J’ai tenté de d’installer BuddyDrive sur le Network (en ajoutant «Network: True» sur buddydrive.php) tout en ayant BuddyPress installé sur le second site, mais sans succès, la page 404 de Hostgator apparait toujours.

    Pour le second problème, J’ai aussi essayé d’ajouter le code suivant à functions.php de mon thème mais sans succès aussi:
    function fixes_buddydrive_for_template_pack() {
    add_theme_support( 'buddypress' );
    }
    add_action( 'after_setup_theme', 'fixes_buddydrive_for_template_pack' );

    Il doit certainement avoir un problème de configuration à mon multisite. Est-ce que BuddyPress et BuddyDrive doivent être installés les deux sur le Network ou les deux sur mon second site?

    Je suis perdu.
    Merci pour ton aide.

    Laurent

  9. Avatar de Laurent
    Laurent

    Bonjour Mathieu,

    Laisse tomber, j’ai finalement réussi à arranger le problème de page 404 avec les indications dans le lien que tu m’a envoyé. Merci pour ton aide!

    Le seul problème est maintenant de fixer l’apparence de BuddyDrive sur mon site web.

    Laurent

    1. Avatar de imath

      Donc avec le thème socialbuddy ?

      Tu peux essayer de copier dans ton thème les fichiers buddydrive.php et buddydrive-explorer.php qui sont dans le répertoire /wp-content/plugins/buddydrive/templates cf http://plugins.trac.wordpress.org/browser/buddydrive/tags/1.1.1/templates

      Veille à ce qu’ils soient directement à la racine du dossier thème. Une fois ici, tu peux observer comment le template page.php de ton thème est codé et adapté le markup.

  10. Avatar de Karsten Jeppesen

    This is a network site!
    After installing BuddyDrive I figured that I needed « Enable BuddyDrive for groups on group creation ».

    So I went for the settings in the plugin line in the network admin plugin menu point.
    It called up (correctly) this page:
    wp-admin/options-general.php?page=buddydrive

    After checking the checkbox, I tried to activate that setting by pressing « Save Settings ».
    That called the page:
    wp-admin/settings.php?page=buddydrive

    But that page does not exist!. What to do?
    The requested URL /wp-admin/settings.php was not found on this server.

    Sincerely,
    Karsten Jeppesen

    1. Avatar de imath

      Then it means you haven’t activated BuddyPress on the network.

      This is something i’ll correct soon. In the meantime, you will find a way to solve your issue in the plugin’s support forum.

      http://wordpress.org/support/topic/group-settings-issue?replies=12

  11. Avatar de Sezen

    Just downloaded the latest BuddyDrive on my site running BP 1.9.2 and WP 3.8.1. Clicking on the BuddyDrive link in profile page shows a blank page. Any idea?

    Thanks.

    1. Avatar de imath

      Hi Sezen,

      I think it’s due to the theme you are using. I’ve checked it and blogs-mu seems to be a standalone BuddyPress theme, so you surely need to create the templates inside this theme. To be sure, you can temporarily activate twentyfourteen or twentytwelve to see if you still have the blank page.

      If it solved the trouble, then you should look in the plugin’s support forum, they are some related post about theme compatibility :
      http://wordpress.org/support/topic/problem-with-theme-23
      http://wordpress.org/support/topic/buddy-drive-not-working-with-theme
      http://wordpress.org/support/topic/broken-theme-32