Where to start with developing a Cloud Content Management (CCM) System?
I have been in the document management industry for over six years. I have mostly been doing high volume scanning, creating workflows, and providing efficient ways to manage digital documents. I am very familiar with scanning software/document management software and have a lot of ideas of how to make them more user friendly and fluent. Moreover, I want to create a scanning software that allows you to store and manage said documents directly in the cloud. It would be comparable to say, DropBox (but with the "scanning component"). However, I am in the "idea" phase and I am seeking some input on where to start and who/what are the ideal developing skills I would need to look for (SQL, HTML, etc). I would really appreciate any guidance. Thanks!
We recently worked on an online DMS aka filocity.com
As per my experience with Filocity, would recommend using Amazon S3 as a storage server and PHP based Yii Framework as the development platform.
Other than the technology you need to focus on the User Interface Design(Simpler the Better) and SEO aspect. They are key to success of any web Project.
Well unless you want to get into the storage infrastructure business (I suggest you dont), I would first use an established cloud storage provider. Something like Amazon S3. That means a lot of work goes away. You can swap it out later if you can really justify the expense of your own infrastructure. They have for all practical terms infinite amount of storage.
Once a document is scanned, the client side software can push it up to a cloud storage provider. Normally they have all sort of metadata capabilites so you could use this in lieu of any sort of database. Let the storage do the work.
If there is collobaritive workflow, its possible you maybe able to do everything you need with the object metadata. Without knowing your workflow its hard to say.
If thats all you need then all you need is an application programmer. They need to be able to write a UI, interface to hardware etc. Then some network coms to speak to the cloud storage service.
front end software -> business logic (your site) -> cloud storage
So, if I'm hearing you correctly, you're looking to build an automatic "Scan, Tag, and Upload" cloud-based document management system. You would probably want to use a mix of existing tools rather than custom developing a new solution for something like this.
What technology you eventually decide on would depend heavily on the process, the technical requirements, and the documents you are managing. Are you meta-tagging all the documents with information like author, publish date, summary, etc? Should all of those fields be searchable? Should the document content be searchable after scanning? Will the needs be different for different clients, or do all clients pretty much work the same way? These and many more questions will help you narrow down your technical requirements. My guess is everything you need is existing technology, perhaps with the missing link being the connection between scanning software and document management software.
Size and complexity are also going to be important factors. Something as simple as a WordPress plugin may be all you need (yes WordPress can be customized to handle document management), however if you're handling massive amounts of data, you are probably better off with an optimized database system. For cloud storage, are you looking at 5 gigs, 500 gigs, or 500 terabytes? You could probably piece together very cheap cloud storage for anything up to around 100 gigs, but once you start approaching terabytes, you'd probably be better having your own dedicated servers.
Hope this helps.
Before you start hiring someone to write software for you, I might suggest you take a step back and look at what you're trying to accomplish.
Who do you think your customer is? What problem do you think they have? How many potential customers have you talked to and have they come to you with this problem? (or have they only talked about it when you've brought it up). Would they pay extra for something that was more user friendly or can they live with the status quo?
Where to start? Talking with your customers. Find enough people that are truly passionate about the problem you think they have that they will sign up and pay for the service and then build it to solve their problem.
Each developer might have a different preference when it comes to the choice of tools. But from our experience, we recommend .Net and SQL with a third-party cloud hosting (not drop box, but actual hosting services).
Please contact me if you need more details, we've done several projects like these for different clients.
Getting the terminology sorted might be a good place to start. I believe your proposition is that you're offering a "cloud-based Document Management System". Content management is a very different beast - it's usually very interactive and allows users to change the contents, like Wordpress. Scanning things generally means you don't then change those things.
Notice that I did not mention SQL, Ruby, Beans, C++, C#, Perl, Java, etc. These are nothing more than fluffy cushions that insulate your backside from the real seat-of-the-pants experience that all cutting-edge systems developers should have.
Hope this helps. (http://programify.com)