WOPI Implementation for files - on-prem - ms-wopi

I have a website hosted on-prem which uses Solr to search and index documents from various systems like SMB, Box, Windows File Share, etc. I would like to enable a preview for these documents indexed. Can I utilize the Microsoft Office Online Server for this? What are the additional steps I should perform?

Yes, you can.
Deploy Office Online Server. For preview purposes, you can leave the server in the read-only mode (without the -EditingEnabled option)
Implement CheckFileInfo
Implement GetFile
There are boilerplates out there that can help save you time implementing the WOPI protocol and let you focus on implementing an interface to your specific datastore (be it SMB, Windows File Share, etc.)

Related

Plone usefulness for Backend Development

We have a python based server that uses mongodb database. Our server programs uses RabbitMQ to exchange request/reply packets with many Android apps and perform actions accordingly. In addition to this, now we also need to create a web portal for the admin staff to let them manipulate the database, upload/download files, view data/statistics and trigger actions for android clients. So, the database is going to be common for the portal and the existing server programs.
For the web portal development, I got a recommendation for using Plone. We are comfortable in using traditional Node.js. Could anybody guide me on the use of Plone within this context. Is plone able to communicate with mongodb and existing server side programs?
Plone is a CMS designed around managing web based content and is tightly integrated for storage of its data in the ZODB, a NoSQL database. If data is very custom and isn't all about webpages and website nagivation etc, or if you have a need for the data to live in a different kind of DB then Plone probably isn't the right tool for you. This isn't to say it can't be made to do these these things but you would have to learn a lot about it's internals to make it do these things.

How to integrate Oracle APEX and Alfresco via CMIS

A question regarding the integration of the document management system Alfresco into Oracle Application Express (APEX) based on CMIs-repository:
The aim is to use APEX as the portal-page and Alfresco showing it's results (document lists) based on search parameters coming form APEX.
A search result from a CMIS-query should be displayed in an APEX page-region.
Unfortunately I have no experience in this sector (REST, CMIS) - so any advice would be welcome!
A related question regarding user authentication and authorization via CMIS does also arise.
Has anyone out there implemented something like this or used these components together, yet?
The first thing that pops into my mind is making the choice where you want your communication with the repository to take place: client side or server side?
Alfresco supports Web Scripts, so I would be possible to create a javascript-heavy thick client which connects to your repository, get information about your files and redirect to their download links.
The alternative would be to design some way to connect to the repository from the database server. Again there are many ways to do this. You can connect to the repository during your page load and use PL/SQL regions to fire scripts that connect to your repository, get the data you want, and render your region with that information.
Another way would be to periodically check the repository for changes, and maintain a 'shadow copy' of the repository within your oracle database tables.
Of course all of these solutions have their own drawbacks.

Distributed CMS or content management platform?

I have been trying to find an open source or affordable platform / CMS that is distributed.
And by distributed I mean that there is a single control panel with all the content, but you can have multiple websites on multiple web hosts that query an API that holds this content. Not the usual "one install, multiple websites" as you can do with Wordpress MU.
Ideally there would be an API that the website can connect to and get the data, or use push technology from the control panel once new content is added.
If there is no client side platform built but there is a sophisticated content management platform with an API that allows me to build my own client/website connecting to it, that would be fine too.
Does anyone have tips if there is such a thing?
Govento CMS is a distributed CMS, that allow you, to manage all projects with a single installation and present your content via push publishing dynamic and current on different remote delivery-platforms.
german: http://goventocms.com
or english:
http://translate.google.de/translate?hl=en&sl=de&u=http://govento.de/&prev=search

Exposed onsite vs IFD deployments for MS Dynamics CRM

I'm working for the first time on a MS Dynamics CRM 4.0 project. Our company has a high number of remote employees and even more remote consultants. As such it will be necessary to make the CRM solution available over the internet. As near as I can tell, I have three options:
Have everyone use a VPN to access an intranet site (typical onsite deployment). However, we have found that VPNs are far from trouble free and cause many support issues. We avoid them like the plague.
Use IFD to expose the CRM on the internet. I don't know much about this except that the URL will be different than the onsite URL, which could cause some headaches (see below).
Expose the CRM site by opening the site to the internet, using SSL to encrypt traffic. We currently do this with our MS sharepoint sites. I'm not sure how secure this would be (one of the reasons for this question).
I'd like to avoid using both the onsite intranet deployment and the IFD together for a couple of reasons. One of the requests for the solution is use email to notify users that they've been assigned a task, and include the URL to the task within the email. For this reason. If both deployments are used, then I'll need to include two URLs and the user would need to know which to use. Which leads to the second reason, the main users of the solution split time between being in the office and being remote. Thus they would need to access the solution two different ways, and know when to use which. Bad.
So, what are the advantages/disadvantages of any of these methods? Any other options? Is there any issue using IFD from within the intranet? Security issues?
UPDATE:
Be sure to read the comments of the accepted answer, as they further explore the ramifications of the various options.
That is the best, you have all the security, and a low maintenance deployment. Also if you are developing custom code (ASPx pages) you will have only one deployment type to support. If your users are already using a VPN Client, this should be the best solution.
This is the Microsoft way to do it. Except for the URL duplication. This solution is used in companies where clients do not want to have a VPN client, or where VPN clients can't pass thru firewalls. Also this solution is almost required if your outlook clients are using "Connect to exchange thru the web". Because in this case all the clients can open Outlook without VPN, CRM should be exposed without VPN, and the IFD deployment is handled natively by the Outlook client. Note that this is SSL enabled (required). EDIT : It's not required, but a best practice, even if the implementation guide says "You must define a URL for the Microsoft Dynamics CRM IFD by using the following format: https://".
This this the worst of all the worlds, you have to maintain the deployment manually, and you will have all the headache of using a deployment as we were using it in CRM 3.0 (NTLM, Kerberos etc). I do not recommend this.
You can use an IFD deployment thru the intranet, but there is some buggy behavior. The external DSN should be configured on the internal DNS server, so that internal client can access the internal server. And because IFD is SSL enabled, you are encrypting internal traffic...
Hope this help!

Help to choose Alfresco or Nuxeo for DMS

I have requirement to develop DMS(Document Managemen System) with some initial requirements:
If possible DMS should be open source
Initially DMS should support up to 500 users
System should be scalable in sence od users or content
Docuemtns/Content should be stored on a file system
Document should be able to be marked for later destruction
Mandatory to have workflow capabilities
Mandatory to have version control capability
Nice to have SSO(Single Sign On) with Liferay portal
Nice to have posibility to expose some of funccionality via portlets in Liferay
Document management should be done via the web interface
Nice to have shared drive capability
Nice to have events and notifications about add/change content
At the moment I am in doubth to choose between Alfresco and Nuxeo.
I will appreciate any help to choose between them.
Thanks in advance
I have not much experience with Nuxeo, but here is for Alfresco:
1.If possible DMS should be open source
Yes.
2.Initially DMS should support up to 500 users
Yes, if you have a good server.
3.System should be scalable in sence od users or content
Yes.
4.Docuemtns/Content should be stored on a file system
Yes. Only metadata is stored in a database.
5.Document should be able to be marked for later destruction
The free Records Management module has retention capabilities.
6.Mandatory to have workflow capabilities
Yes.
7.Mandatory to have version control capability
Yes.
8.Nice to have SSO(Single Sign On) with Liferay portal
Yes.
9.Nice to have posibility to expose some of funccionality via portlets in Liferay
Alfresco and Liferay work very well together.
10.Document management should be done via the web interface
Yes.
11.Nice to have shared drive capability
Yes.
12.Nice to have events and notifications about add/change content
Not sure about this one. The Share module has this feature, but not sure about the main DM application.
Don't know the Nuxeo system, but we are using Alfresco as a document storage and session server. We have our own GUI and only use it as a back-end system. So far we had no problems. Plus Alfresco has a nice REST interface which makes it easy to integrate into any existing system.