We have a requirement to store metadata for documents, but the complication comes because:
- metadata has relationships (many-to-many)
- Its a multi select
- cannot use Profile Store (My sites) as this is not scope and the enterprise only for a department.
Example Metadata
We have two entities:
- Subject
- Courses
The relationship is many-to-many because one subject can be part of 'n' courses and one course can have 'n' subjects.
Scenario
When a user uploads a document, they can select multiple subjects and multiple courses (the selection should be guided and cascading based on course selection - possibly a custom screen.)
When a student registers to the site and selects their respective courses and selected subjects, the system should show relevant documents and all the documents should be searchable using metadata (an interface like faceted search)
My Questions
- What should be my approach to store and maintain custom lists/custom SQL DB? As there are relationships.
- Can we store all the documents in one Document Library? (Limitations)
- What is the best way to store student preferences and personalize the content based on the preferences. (show only documents related to subjects and user preferences)