Files Management Plugin in WordPress

  • PUBLISHED ON: 8 November 2020
  • READ TIME: 6 mins
  • TECHNOLOGIES: CSS, HTML, PHP, WordPress, and jQuery

About the Project

The project was made for a client who wanted a file management system for his clients. To be precise, the Administrator of the website could create a Project Directory and each client or associate could receive access to that directory. The access for a client means that he can see the files, can upload files, and download files, the delete access is only for the Administrator. The client can register on the Client Area Page or can have the account created by an Administrator, in both cases, the user will have the Client Role. In the following paragraphs, I will detail the process of creating this plugin.

Building Steps

The first thing was creating a Dashboard menu, where the Administrator could navigate through the project directories and create new ones. The name of the directories exists only in the database, the real folder names are UUID codes for the unicity of each directory. Once the directory was created, the Administrator could navigate through it like on an Operating System, where files or subdirectories could be deleted, downloaded, or uploaded.

The second thing was the associations between a client and a directory. This was made with a many to many relation, where the Administrator can select on the Edit User page the Directories that the client should have access to.

The third thing was creating the Client Area Page, where a client could register or login to see his directories. On the Settings Menu from the Dashboard, the administrator can select which page should use this 'component'. Once selected, the content of that page will be replaced with the 'component' described earlier. You can see in the photos below the first thing the client will see is a form with an email field. If the email exists, a new form will appear with a password field, otherwise will be asked to complete the form of registration.

Once the client registered, he must wait for the administrator to accept his request. If he tries to log in before his approval, an error will pop up.

After the client login, he will see the directories on the left and the subdirectories and files on the right. The difference between an administrator and a client is that the administrator can design and delete files or subdirectories, while the other one can't.

The design isn't very modern, not because I didn't want to, but because the client's website was pretty old and a modern design wouldn't integrate into this current web design. Needless to say the created design was made to look like the website one.

„I hired another Freelancer for this exact project about two years ago, but she couldn't deliver it. George did it and I am very happy to have hired him for this project. I highly recommend George to everyone who wants a functional website.”

Client Review

Do you have a similar project in mind?