One of my client wants to change its current DMS used to manage safety, quality and environment documents (and based on MyDMS). After discussions we identify a list of basic features to develop a new version from scratch. One of the key element was to decide the technology we will use, and guest what what came on the top: Symfony.

One of the objective would be to release it later on as an open-source solution since there is no such solution yet in the symfony world. So what is best to start an open-source project than asking you guys what you would expect from a DMS?

Here is a first quick list that we identify already:

Generic

  • Open-source solution
  • Multi-languages support (I18N),
  • Fast search engine
  • RSS feeds

Document classification: Categories and Tags

  • List categories (folders) and attached documents according to user credential,
  • Allow document to be classified into several categories at the same time without duplicating the document itself,
  • Tags (keywords) for easy search with tagcloud,
  • Organization categories to allow view per department, unit,…
  • Notification list on categories

Documents

  • Upload any type of documents (can be specified of course),
  • Document versioning to keep track of all versions of a document + locking system for edition,
  • Document publishing status available: waiting approval, approved, revoked.
  • Document security status: public, internal use, restricted, confidential,
  • Document types (e.g. ‘Manual’, ‘Work Instruction’,…)
  • Expiration system for document with email alert to author.
  • Document translation manangement (a document can be in several languages for each version),
  • Document can have attached (or linked or related) documents (e.g. Work instruction have the complete list of related records)
  • A document can have no electronic document attached but simply a reference to a physical document.
  • Notification list per document
  • Star ala Gmail to create a list of personal favorite documents

Users

  • Simple workflow for reviewing and approving document before publising,
  • Comments on document,
  • Favorites (stars ala google): user documents to easily find documents user need the most and allow email alert whenever it is update,
  • personalized content: list of new document since last login, alert when a user document has received a comment,…
  • personal zone to store private documents

Advanced features:

  • Full-text search including search within PDF content (Xpdf or pdfstring ?)
  • LDAP integration
  • Barcode integration (Mozilla Prism based?)
  • Drag’n'drop of documents from desktop to the app as well as to move folders, documents,…
  • WebDAV support/integration?
  • Integration with desktop office tools?
  • Option: geolocalization for documents
  • dynamic folders (ala intelligent playlist in iTunes) based on criteria. Can be created globally or on a personal view. Can be created based on a specific search.
  • Notification messages on dynamic folders change or saved search.
  • RSS and iCal subscription for planned events such as time to review a document, expiration date…
  • Special type of document: groups of photos (allow a slideshow,…)

I have identified a certain number of existing Symfony plugins that can be useful for such a project, namely:

Optionally we can use as well:

Yes, it is now your time: share your view on DMS to see how we can start to build a generic enough solution for all. We are first looking at web-based features, we can imagine to have a 2nd phase for more advanced features that rely on desktop heavy solution…keep this for next year!