Let me first congratulate all the developers of the Alfresco Community Edition for making such a great tool. We have been searching for a tool to manage our data in a centralized and consistent manner. But we need a very specialized tool in that we need the tool to be able to enforce several workplace policies naturally. Features we expect like format of the document not mattering, there being a review process, all seem to be in place already. But there are some other features which we need that'd make Alfresco an immediate savior for us.
Specifically, I was looking at following features which as I understand, are not supported out of the box in Alfresco. These include:
- We would want that the creator of the document in a project (site) not be allowed to delete their own document unless cleared by someone higher in the hierarchy.
- It is inconvenient if the reviewer of the document downloads a document assigned to him/her for review and somebody uploads a new version in the meantime. We'd want the document locked during a review.
- Post review, if document is approved, it should get locked. Nobody can add revisions to the document unless the creator or the site manager explicitly requests more updates to it.
- Enforce a confidentiality flag by default for certain sites / projects. This means every document starts by being visible only to the creator and the site manager. Later, explicit read/write permissions may be given.
- Ability to 'fork' a site. One project has reached its conclusion but the same project needs to be redone with an enhanced set of requirements but can use the current project as a starting point.
- Sites may refer to sites via connections or linkages. eg. "A TimeSheet Project" is needed in a bigger project which aims to create a Scrum Project Manager. The linkages would imply default access policies for users of the bigger project etc.
- Support newer kinds of content (eg. architectural blueprints) with scope for assigning newer kinds of metadata.
The purpose of this question is to ask the feasibility of extending Alfresco to achieve the above and the time scales needed for a team that unfortunately has no Java experience (as a very small team, we rely on higher level languages like Python to quickly deliver products.) I'd be grateful for expert opinions on this. It'll help us decide if we should invest time in mastering the APIs of Alfresco vs leveraging tools we are already well versed with to create a custom solution.
PS: New here, apologies in advance if I may have overlooked a code of conduct. Thanks.