I'm trying to get a good appreciation for Craft's current capabilities and maturity. I've seen the demo and the docs but there is definitely a learning curve and what appears to be a need for much more coding - some of which I'll certainly need to hire a developer to assist regardless of platform. I see sparse videos, don't see many third party addons either, and docs suggest creating object oriented code just to set up field attributes. Thank you for any guidance in advance. I'll share a little about my goals.
Project: I'm creating a document management system that is the same as you've probably seen in many school libraries (doc title, a long abstract that summarizes the full doc, excerpt and several taxonomies that classify docs into doc type (research paper, proposed law, etc.), country of origin, organization creating the doc, etc. It also has some doc fields, e.g. document language, date published, etc. Some primary objectives:
(1) Create relationships between docs. For example, if a document has been translated into 3 other languages I'd like to be able to recognize all those related documents in the doc and display the translated documents in a list on the front end for easy access so a user can view the doc in their preferred language.
(2) Ajax based filtering system. This has me leaning toward ExpressionEngine / Wordpress because of the availability of a very well thought out ajax-based filtering system, e.g. Low Search. Wordpress has numerous plugins, including WP-Types (although overall EE seems a better document management solution). Quickly done, no need to program and reinvent the wheel. A filtering menu can appear in a sidebar and a user can gradually filter through the results, e.g. perform a search for "widget", see results, then refine by documents published between a certain date, then refine by country, language, etc. And you can add/remove these fields very easily.
(3) Document import/export. For example, export the document to Word, PDF, etc. What makes Craft intriguing is that fields are entered in discrete, identifiable elements. For example, what if I wanted to export just document headers for a long document, it seems Craft can theoretically accomplish this easily because every header is a discrete field. It takes more work on the back end for data entry (but there is no perfect system.)
(4) Document Version System. Another issue would be to track revisions of the document as it moves along, e.g. first proposal. First revision. Second revision. Submission for approval. Document approved. -- Each of these documents are different versions of the same document. I've seen some extra data types which leads me to believe that the ability to generate a list of these documents as being related might be better suited with Craft - although I'm not familiar enough to be sure. Don't see EE/WP having a better solution, just manual fields that would require each document to be updated or a macro which inserts data each time a new revision is added.
Thank you all for any comments or thoughts.