We have a system where, a large part of it is the ability to upload and download files if you are logged in and have the correct permissions.
What we are looking at doing to help with the organization from the users point of view is having a virtual file system type layout.
Even if (or even preferably) all the users files are actually just stored in one directory, and the virtual file system is just a screen put up from the database.
What we are wondering before we invest in creating this is if this already exists somewhere, open source (but able to be used in commercial software), free, or paid (first two preferably!).
A simple file system on top of PHP can be done by WebDAV that is built on top of PHP:
http://sabre.io/
This would be a good example, but there are others as well. WebDAV is essentially a web based file system (http://en.wikipedia.org/wiki/WebDAV).
This could not only provide a file system, but also would let you edit files directly with Word/Excel (2007+) in it. Showing then a treeview of folders and files would be quite trivial, using few database tables and some jquery components, such as jsTree and jqGrid.
Although if you are searching for a full document management system: http://www.opendocman.com/ or http://code.google.com/p/simpledoc/ this would be more then enough.
It really depends on how many features you are going to incorporate into this system. Will there be an OCR, would you like to store the files in the cloud service, how many user input there will be (is simple upload enough, or camera, scanners and other devices are needed to be used as well)?
As for the commercial products, you could check out Microsoft SharePoint (http://en.wikipedia.org/wiki/Microsoft_SharePoint) or IBM Lotus Notes (http://en.wikipedia.org/wiki/IBM_Lotus_Notes)
Related
Im currently working on developing a PHP/MYSQL property classifieds website where people can register and manually add property classified adverts. This is all working fine, but I now need to add the functionality to bulk upload property adverts.
There are 2 ways I need to do this, the first is via XML, where a member who is registered on our site can add the url of an XML file on their server, on their account page on our website. Our automatic script will read through the XML file each evening and populate our MYSQL database using the details and images from their XML feed.
The second part is where I am struggling. Some Estate Agents want to be able to upload their properties to our website by FTP'ing a ZIP file, with CSV file and images to our server each evening, so we can then read through the CSV file and populare the MYSQL database from this.
How would we go about giving each Estate agent a place on our server to ftp their files too? Could I automatically create a directory on our server with the name of their username where only they had access to FTP too? Would I be able to automatically create FTP accounts on my server?
Please note I am running a linux server with CPANEL installed. My website is developing in PHP with a MYSQL database.
Any advice on the best methods to implement this functionality would be appreciated.
You'll be better off offering a HTTPS file upload, rather than FTP, because you can secure that with your existing PHP/MySQL authentication system and it doesn't require any technical knowledge from your clients. Then you can use use PHP to parse the ZIP file and check it contains what you need in real time, and provide instant feedback if images are missing or the CSV is corrupt, saving you some customer support effort.
See http://www.php.net/manual/en/class.ziparchive.php
Automating the creation of FTP accounts would require pam_mysql, and may cause a conflict with cPanel. If you really want to do that, ask over on serverfault.com
This is the first time for me asking a question. Hope you'll be able to help me.
Problem: my chef wants our enterprise application to have a module which allows customers to upload very large files to our server.
Infrastructure: php 5.x / mysql client-server app
Well known problems:
-HTTP session time out
-Upload limit in terms of number of files and file size
Rules:
-The solution mustn't use any applet (java, flash, ...), neither any browser plugin.
-The solution should allow users to upload any type of files, from simple images to very large files of any other type.
-For security reasons, we don't want to change the settings in the php.ini file, neither in any .htaccess file to allow the app uploading larger files.
-If a pre-backed solution exists, it should be opensource and possibly free of charges.
-Integration with AJAX functionalities and progress bar visualisation are heavily welcome.
Possible solutions (tell me if it's possible, and if it isn't, why?):
-Access by FTP using some javascript library in the browser
-Access by WebDAV using some javascript library in the browser
Any other solutions that respect the above given rules is also welcome
I know, I'm asking for a very hard thing to find.
What you're asking for isn't currently possible. The only technology for uploading files which is currently available in all widely used browsers is standard HTTP form uploads, which you've already rejected as a solution. All other solutions available require Java or Flash, or use browser JavaScript capabilities (local file access) which are not fully standardized, nor universally available.
You'll need to relax some of your requirements.
Create an iframe or frame, or browser-window that offers access to the server via FTP. Allows users to drop files there for those browsers at least who support FTP.
I work for a company where we do a lot of digital projects and need back and forth uploading/downloading of assets and files between clients and employees.
Ideally I want to put in place a web portal where users can login and access a designated area to upload/download files. Must be isolated from other users/clients and secure so I was thinking of creating an admin panel to set permissions to a user database.
This sounds like a common need to me. Are there any free or open frameworks that do this?
If I end up building this custom, using html, js, mysql, php, what would be the ideal backend setup for storing files? i.e. what type of server configuration would be secure and robust?
Thanks
ResourceSpace—free and open source digital asset management. The documentation's good and covers most situations, including configuring it to separate clients. The permissions configuration is a bit cryptic, but maybe they've improved that since I installed/updated it last (a while back). And it has a "pluggable remote API architecture."
Widen provides digital asset management software in a fully hosted environment. Digital asset management is becoming very popular with every type of business for easy retrieval and safe storage all their media files.
I'm writing a web application in PHP which needs to store images and image meta data. In future, the application may need to work offline on the client. A user might need to download all the images and data to his laptop before going to a remote area without internet access. Whilst at the remote location the user could add new images to the system and be able to compare them with his local copy of the image database. When returning to an area with internet access, the user would run a sync operation which would copy his new images to the server and retrieve any new ones.
I've looked at the new web storage / localstorage options in HTML5 (web sql database seems to have been dropped) and I think this is going to be too limited as there is only 5MB space and one or two images could easily exceed that.
Is what I want to do actually possible / practical with a browser-based web application? Or should I be looking at writing a desktop/tablet application with local file storage capabilities for users without net access. Initially, it does need to be a web application, I'm just trying to think ahead. Will I give myself more options in future by using something like couchDB for the backend from the start? As I understand it, this comes with good syncing functionality.
Thanks,
I decided to use Titanium Desktop.
http://www.appcelerator.com/products/titanium-desktop-application-development/
I am trying to build an app for a photographer. These are his requirements:
Photographer can upload photos or files (files up to 20-30mb).
Photographer can categorize photos and files by client.
Photographer can create client username and passwords.
Photographer can send email from web interface to link to download. (which requires client login)
Client can login and view and download photos and files assigned to his account.
Photographer mentioned 1-2 terabytes of data needs to be stored.
So, my questions:
Is there an open source system out there that already does this.
Is there an app already out there that does this. Photographer currently uses "yousendit" but the free solution is not sufficient since data is lost after 2 weeks.
He mentioned he could host it on a box at his office, but his connection is limited.. thaughts? At that point storage space would not be an issue. I would have to code this app.
GoDaddy hosting for example does unlimited storage with one of its plans that is reasonable. If I coded my own app, this would be perfect. I do hate GoDaddy though..
I will listen to any alternative suggestions.
Thanks!!
I'm not sure about building an app like this, but SmugMug is an existing app that hits most of your requirements.
Can upload unlimited JPGs as part of base cost, other files can be uploaded at additional cost
Photos can be categorized into galleries per client.
Galleries can be locked down, with clients getting unique user/pass to their gallery
Not 100% sure if you can email a link directly from the site, but I believe you can.
Additionally, if you get a pro account, clients can order prints online (no need to build your own payment processing), you can "theme" the galleries how you like, automatic watermarking, etc.
The base cost is $40-$150/year, depending on what level you choose, plus whatever you need for additional file storage. Not sure if it meets all your needs, but just throwing it out there. Note: I am not affiliated w/ SmugMug, just a satisfied user.
The first question you need to answer is whether you will store the files in the database or on the file system. Given the amount of data in question, I would store the file on the file system and keep meta data about the files including their location in the database. The catch to this approach is that you have to keep the two in sync with each other. It is not particularly difficult to build that system.
The second question relates to where you store the files. You could store the at the same place where you host the site or you could use a cloud storage option like Amazon's S3 (or DreamHOst mentioned by J_B). One advantage of using cloud storage is that the site can hosted anywhere without affecting the location of the files.
DreamHost might not mind. They say they will give you all the storage your site needs with all plans (+ some extra for storing whatever you want).
I don't know about an app that does that. Doesn't sound REAL hard to write.