An idea I'd like to develope...
Posted: Tue Nov 29, 2011 7:46 am
First off, as some may notice, this is my first post to this community - and the reasoning for that is because I've worked "with" but never directly "in" PHP (meaning I've altered, but never developed).
So my project is, very likely, overly ambitious for my limited ability - but all the same I want to lay out the idea here in the hopes that someone can point me in the direction of some good tutorials for developing user-based, database-regulated environments... (just saying that makes me feel over my head)
I'm assuming everyone has seen a simple web directory where you're presented with a text listing of all included files? What I'm looking to do is provide a completely re-vamped version of this, in a way that would meet the needs of both home and business users... My notes read as follows:
Goal of the project: Provide an astetically pleasing, user permissions based GUI for File Directories supporting features such as comments, "download all", "other versions", "open", etc.
---Detailed overview---
To walk you through it... After setting up using an assisted interface in which you would enter your Database information and assign a password to the admin account, you would
log in and create user accounts with different global permission levels (more on that later).
A user would log in, and be taken to a screen where they would have access to all directories that they've been given access to, or alternatively the user could create a new directory.
Upon creating a new directory, the user is taken to a dialog where he or she is asked to name the directory (requiring a unique directory name), upload multiple files, upload a background image (if one is not uploaded, the default background image will be used), upload a directory icon image (if none is uploaded, default folder icon image will be used), and add users to the approved users list with varying permissions (such as "view", "download", "revise" (upload a new version of an existing document), "comment", "upload" (upload new documents), "delete" (remove comments and files), etc.).
The users can then access the directory and see all uploaded files in a icon-based grid layout, with a menu bar at the top that allows for mass download, logout, uploading, etc (based on user permissions, of course). By mousing over the icons, they'll be presented with the option to download the selected file, view and make comments on it, see all revisions, or (if permitted to do so) delete the file.
---Administration Panel---
The administrator(s) would have access to the following menus...
Global Settings:
-Registration (Open registration (where users can register their own accounts and automatically be defaulted a set level of permissions, configurable from the User Groups menu) or Invitation only (Where in the administrators have to create and issue accounts to anyone seeking access to the service)).
-Users (where users can be assigned into groups, have passwords changed, delete users, ban users, change avatars, etc).
-User Groups (where global permissions can be assigned, such as access to the administration panels, the ability to create directories, the ability to moderate directories, etc).
-Theme settings (where default icon images and background images are changed. Not really "required" as these images could just be replaced via FTP, but it'd still be a nice feature if nothing else).
---File Structure---
The filestructure should ideally be something like this:
dirs/ -- The "directories" directory, where new folders will be created to store and organize uploaded materials. Directories here will all contain an index.php to which calls for user login.
[index directory] -- This is where the primary index.php, login.php, logout.php, comments.php and any other session-specific php documents would be listed.
imgs/ -- This is where the icon pngs, the default background image, the default folder icon png, the overlay images (such as little speech bubbles to indicate comments, a plus sign to indicate a newly added file (or new since the user's last viewing of that specific directory), an exclimation point to indicate a newly revised document, etc) will all be stored.
imgs/bgs/ -- This is where user uploaded background images will be stored.
imgs/icons/ -- This is where user uploaded icon PNGs will be stored.
So my project is, very likely, overly ambitious for my limited ability - but all the same I want to lay out the idea here in the hopes that someone can point me in the direction of some good tutorials for developing user-based, database-regulated environments... (just saying that makes me feel over my head)
I'm assuming everyone has seen a simple web directory where you're presented with a text listing of all included files? What I'm looking to do is provide a completely re-vamped version of this, in a way that would meet the needs of both home and business users... My notes read as follows:
Goal of the project: Provide an astetically pleasing, user permissions based GUI for File Directories supporting features such as comments, "download all", "other versions", "open", etc.
---Detailed overview---
To walk you through it... After setting up using an assisted interface in which you would enter your Database information and assign a password to the admin account, you would
log in and create user accounts with different global permission levels (more on that later).
A user would log in, and be taken to a screen where they would have access to all directories that they've been given access to, or alternatively the user could create a new directory.
Upon creating a new directory, the user is taken to a dialog where he or she is asked to name the directory (requiring a unique directory name), upload multiple files, upload a background image (if one is not uploaded, the default background image will be used), upload a directory icon image (if none is uploaded, default folder icon image will be used), and add users to the approved users list with varying permissions (such as "view", "download", "revise" (upload a new version of an existing document), "comment", "upload" (upload new documents), "delete" (remove comments and files), etc.).
The users can then access the directory and see all uploaded files in a icon-based grid layout, with a menu bar at the top that allows for mass download, logout, uploading, etc (based on user permissions, of course). By mousing over the icons, they'll be presented with the option to download the selected file, view and make comments on it, see all revisions, or (if permitted to do so) delete the file.
---Administration Panel---
The administrator(s) would have access to the following menus...
Global Settings:
-Registration (Open registration (where users can register their own accounts and automatically be defaulted a set level of permissions, configurable from the User Groups menu) or Invitation only (Where in the administrators have to create and issue accounts to anyone seeking access to the service)).
-Users (where users can be assigned into groups, have passwords changed, delete users, ban users, change avatars, etc).
-User Groups (where global permissions can be assigned, such as access to the administration panels, the ability to create directories, the ability to moderate directories, etc).
-Theme settings (where default icon images and background images are changed. Not really "required" as these images could just be replaced via FTP, but it'd still be a nice feature if nothing else).
---File Structure---
The filestructure should ideally be something like this:
dirs/ -- The "directories" directory, where new folders will be created to store and organize uploaded materials. Directories here will all contain an index.php to which calls for user login.
[index directory] -- This is where the primary index.php, login.php, logout.php, comments.php and any other session-specific php documents would be listed.
imgs/ -- This is where the icon pngs, the default background image, the default folder icon png, the overlay images (such as little speech bubbles to indicate comments, a plus sign to indicate a newly added file (or new since the user's last viewing of that specific directory), an exclimation point to indicate a newly revised document, etc) will all be stored.
imgs/bgs/ -- This is where user uploaded background images will be stored.
imgs/icons/ -- This is where user uploaded icon PNGs will be stored.