-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Composit Spring Content Services with CMIS #55
Comments
Hi @mcalster. Thanks for creating issue. I think this is a great use case and interesting discussion. So, in general, we believe that some sort of federation support is useful/required to help create a single view over multiple Spring Contents and/or multiple legacy ECMSes. We also believe that the Spring Content programming model could be useful for legacy ECMs (although there are some caveats there). We haven't done much, if anything, in either of these areas beyond conversations with Customers. Also if you watch the most recent SpringOne video you'll see we are actually looking for community involvement so your issue is well-timed. On the CMIS front we also haven't done anything yet either. Whilst it has been on the roadmap for a while - its kinda been in the icebox - we have only ever had one other customer express an interest in it so there really hasn't been a signal that we should built it. So I can be sure I understand what you are proposing let me paraphrase (and expand) it back to you. It would look like this:
Does that look right? If not, let's clarify and then we can go from there. |
Hi Paul, The only thing that attracts me to CMIS is that it is a proven model, which seems better than any attempt at a common data model that I could throw together. That said, I would expect it to be possible to build CMIS'ish data model, with just the stuff we need. In CMIS terms, I would like the Facade service to be able to list all repositories (ECM's and SC services) that it knows of. And then keep the repository at the top of all following interactions. That said, CMIS might be over shooting the target a bit. We are not looking at using some sort of default integrations between ECM that require a CMIS compliant interface, so it is primarily to avoid "reinventing the wheel". |
When I was looking at this previosuly I was looking at this project. From a Spring Content perspective, Spring Content CMIS (JSON) would replace Spring Content REST, providing a CMIS JSON-based REST API instead of the usual Spring Content REST API. I think we would try to create a bridge layer between Apache CMIS Server and the Spring Content object model through additional annotations that we would create like One more question. The facade layer is your "index". I think you mentioned that in your org it is ok for all access to go through this new facade. Fine. But what about indexing the existing content in the existing ECM platforms? Not really a Spring Content concern, but I can think of other solution architectures that may be more appropriate if you cant force you users through the new facade (doesnt sound like it here) or if you need to index existing content. |
Hi Paul, Thanks for spending time on this. I've looked a bit at the Apache project, but it seems quite big and feature rich, which was why I found this project to be more interesting :-) I'm not sure what you mean by "not a spring-content concern". Do you mean the external ECM indexing part? Or the facade all together? I'm open to suggestions if you have a better solution architecture? 🙂 |
Hi @mcalster, I've started working on the I think it makes sense to try and use new annotations (@CmisRepository, @CmisFolder, @CmisDocument) on either the repository/store interfaces or on the entities or both but it would be quite useful to understand, or get a sense of, your object model for the new Spring Content FS service that we talked about above and that you want to export as CMIS bindings. Thanks in advance |
Hi @mcalster , I just wanted to let you know that v0.8.0 has added (alpha) support for CMIS through the new module Spring Content CMIS. This will allow you to annotate your Spring Content domain models with CMIS-related annotations and export then using the browser bindings. You can find the documentation for this feature here. |
Closing due to inactivity. Give me a shout if you try the new CMIS support and need a hand with it. |
Hi Paul,
First of all, GREAT project!
I work in an enterprise with multiple ECM's and one of them is scheduled to be EOL'ed, and therefore a candidate to be replaced by a Spring Content alternative. I'm pretty sure that this can be done with the current feature set, and the release of the upcoming "Versioning" support.
I still see mentions of CMIS in the docs, can you say anything about how far away the support/implementation of this standard is?
The reason that I'm asking, is that we would like to expose all our ECM's as one, and be able to search across them via Elastic Search(ES).
So basically, I thinking two layer setup:
1 FRONT END:
A ECM Facade Service based on Spring Content, Writes metadata to ES, Stores Content to multiple ECM backends. (Spring Content CMIS)
2 BACK END:
Pure ECM backend A (soap services, CMIS) Fronted by Spring Content "proxy service"(Spring Content CMIS)
Pure ECM backend B (stored procedures) Fronted by Spring Content "proxy service" (Spring Content CMIS)
Pure Spring Content Service (ES, File system or RDB) (Spring Content CMIS)
So the facade would be the single entry point for all queries, and the "only" one to call the backend ECM services.
Do you see anything alarming in this setup? We should have have a common interface between the Facade and the backends (both proxies and Spring Content services) - here I'm thinking "Spring Content CMIS" could play a role?
Also the repository abstraction in CMIS could play well in terms of controlling which backend actually stores the content data.
That said I'm pretty new to CMIS so any thoughts you have are welcome.
The text was updated successfully, but these errors were encountered: