Convert Domino Web Application to HTML - lotus-notes

Is it possible to convert a .nsf Domino Web Application to HTML? I need the application making available offline without the use of a Domino server. To elaborate on this, we have an external company that host a domino application for us, a document management system. They are soon going to pull the plug on the server and have sent us a .nsf file. If we had a domino server it would be great, we could just place the file on the server. But the problem is that we don't. That is why I was hoping if there was a way to extract all the content so that it could run without a domino server, just as a bunch of HTML files, we don't need the functionality of the DMS, we just need to be able to view the content.
Thanks

If it is an application with logic and actions built on Domino's programming framework, and not just a set of static pages, then the answer is no. First of all, because HTML is just a markup language, not a programming language or framework. And secondly, because the various attempts that have been made to build tools to migrate Domino applications to other frameworks have generally not been very successful. GBS has tools to migrate traditional Domino applications to XPages, but that's probably not what you want.

If the site is static you could copy it using a web site copy tool like HTTrack: http://www.httrack.com/
The tool crawls the entire site and generates HTML pages.

Using the Notes client, create a local replica of the database. With that database open in Notes, click on Actions in the top-line menu, then Preview in Web Browser, and choose Internet Explorer. You may need to change the ACL to allow Anonymous to have Reader access. If the data needs to be secure, create a local copy instead so that you can modify the ACL without putting the production copy at risk.
You can download the Notes designer client from IBM with no restrictions as well as the Notes and administrator clients with a 90-day evaluation period.

Related

Render/edit MS Office docs in browser with SharePoint or WOPI

I have a Rails application I want to do CRUD operation on user's documents online but I want to render MS Office (OpenXML-based) docs in the browser. I have heard about WOPI/SharePoint. How can I integrate it with my web app?
What you're looking for is indeed called WOPI. To be precise, you want to integrate Office Online Server (WOPI client) with your application (WOPI host). This is how SharePoint's integration works as well (SharePoint plays the role of a WOPI host here).
You need to implement the following flow:
Translated to your app - your Rails app will generate URLs pointing to the WOPI client and providing it with information about the MS Office files, authentication information, etc. Then, the WOPI client reaches for those files to your Rails app which will also need to implement the REST endpoints defined by MS-WOPI protocol (mainly CheckFileInfo, GetFile, and PutFile actions).
If you just want to provide view for the documents, that are publicily available, you could use office live viewer, or google docs viewer. You need to basically provide an URL to your document to those services.
I have found this site that has demos for online viewers currently available, you could check it out: https://xtai-umd.github.io/docs-viewer-demo/
SharePoint also has something called WopiFrame.aspx page (or WopiFrame2.aspx), that allows you to show documents like the site above, but with authentication. Please note that this will work only for the documents that are stored in the SharePoint (in the particular SharePoint where you use that WopiFrame.aspx, that is).
If you are developing SPFx web part, this is the way to go I think. Since in this case both are running in the context of SharePoint site, you don't really need to think much about security, it's all taken care of.
I mean, implementing your own WOPI server is not easy at all, and in addition to that you'll need Office Web Apps server, either installed on-premise in your organization, or the Microsoft's online one. To be able to use Microsoft's one you need to be a member of Cloud Storage program, as far as I know.
I would not recommend implementing custom WOPI server unless it is really needed for whatever reason (in my case, it was quite specific security requirements)

How can I automate adding members to a Domino Server?

The company I work for wants to host documents on Lotus Quickr for external vendors to view. The way it currently works is as follows: A project manager needs to retrieve the non-employee's information (name, contact info, job title, etc.), which is sent to the Lotus manager. The Lotus manager then needs to add the non-employee as a new member to the Domino server. Then the Lotus manager needs to send the login credentials to the non-employee. Lastly, the project manager needs to give the non-employee access to the relevant Quickr place.
Because this process is very slow, my manager wants to automate a portion of the process. Our ideal solution would be to build a webpage where the non-employee could fill out their information. The project manager could then look over the the non-employee's information and choose to approve, deny, or send back the information. If the information is approved, the user will automatically be added to the Domino server. Then, the project manager would add them to the Quickr place as usual. This alternative method would eliminate a few steps, a lot of time, and the non-employee's login credentials would only be known to the non-employee.
The problem is that we're not sure how to tackle this. Would it be possible to build an XPage that could be sent out publicly that could handle this? Or is there a similar solution that we could use? I am very new to Domino and Lotus, but I would be comfortable with learning any necessary APIs once I know where to begin. For reference, we are using IBM Notes and Domino Designer 9 Social Edition.
This is indeed possible. Take a look at the User Group application on OpenNTF. It includes functionality for users to register themself so that they can login afterwards.
Good luck with your project.
in addition to #stwissel's and #Thierry's answers:
you of course can build an Xpages based application through which an anonymous user could ask to be granted access to some quickr place. You'll have to keep in mind that most visitors aren't registered users for you Domino server so you need to treat them as anonymous. This could mean that for example resources like company logos or stylesheets used in you "anonymous" application forms need to be marked as available for public access users.
Then you'll have to decide how the application forms are passed on to the project manager; you could send the data using mail, which however might open up an unwanted gateway for spammers. Preferably you would store the applicants' data in a small database from which you project managers then pull all open applications.
The rest is simple and has already been layed out by #stwissel und #Thierry: use quickr's ability to maintain its own set of place-based "local" directories (btw. one of the real cool features of this otherwise dead product).
Speaking about the product: as #stwissel already pointed out this product is no longer maintained by IBM; looking at the long record of known problems quickr had with various browser updates (esp. MSIE), not to speak of future Domino server support allow me to recommend looking for an entirely different solution
http://www-10.lotus.com/ldd/lqwiki.nsf/m_Home.xsp?documentId=F26B114598D21516852577FB005171F4#mobileViewer
QuickR on Domino can allow member not in directory if option is enabled by admin. So no need to ask to lotus manager, project manager can create local member

Using SAS to write to external Sharepoint library

I need a routine for loading files (.html) onto a sharepoint library using SAS. The site is outside the firewall (am unable to use the 'map network drive' method).
The sharepoint library is configured with 'No versioning' etc, and my username / password has administrator privileges..
I believe there are easier ways (tools) to do it than SAS, so I'd just let SAS call some other process - e.g. if your SAS is on Windows, it could call (even generate) a Powershell script.
This http://poshcode.org/2122 seems to be a way.
I've done something similar with SAS calling curl to upload files to SAS webDAV server.
If you'd like a pure SAS way - it should be doable using new PROC HTTP as a web service call.
Refer to
http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a003286672.htm for SAS side and probably this http://msdn.microsoft.com/en-us/library/ff798339.aspx
for Sharepoint side.
Anyway, PROC HTTP seems interesting for some easier things.
I don't think you can use plain old SAS to do this. If you have the SAS Enterprise BI Server product, there is a component called "SAS Web Parts for Microsoft SharePoint", but that is really an interface between Sharpoint and the BI server (so you can display dashboards or run stored processes).
The "easiest" thing to do is create your html files and then use FTP to copy then to the SharePoint server. Of course, this requires an FTP server on the other end and you would want to engage the help of the Sharepoint administrator. I've done something similar myself. I don't know SharePoint myself but there is a way to set it up so that all content that shows up in a directory is automatically recognised.
There may be other solutions and I'd love to see them as well.
Sharepoint has this wonderful web interface. Basically what you do is open your web browser, works best in IE8+ and navigate to your site URL and open your document library. If you select Items in the Ribbon you can upload a document using their interface. :)
SharePoint already exposes several options, using legacy web service and the new rest services.
http://msdn.microsoft.com/en-us/library/ff798339.aspx

FTP from Mainframe ( MVS or VM ) to SharePoint?

We are migrating our sites to SharePoint. We have multiple back end jobs that run on our mainframes and ftp output files to the server and we have links to the location on our web pages and clients can access them.
Now when we have moved to SharePoint we have found that this is not possible We have found that we will not be able to ftp to a SharePoint site. How do we do it? Can some one help.
You can access content from a SharePoint server using the WebDAV protocol.
If your mainframe has some kind of means of doing WebDAV, then you can use that instead of the FTP protocol.
If your mainframe has support for Java, there are a couple of Java based solutions that you can take a look at here.
Another solution would also to develop a custom Windows Service, that either polls or subscribes to file creation events on the FTP server folder and upload the documents to a SharePoint Library using the SharePoint object model.
There are many examples of that out there, for example this one.
Java is well supported on the mainframe and Sharepoint provides a web service API. The two should make for a pretty simple solution.
First, it is true that there wouldn't be a good way for the mainframe to interact with Sharepoint directly. This is because all of the Sharepoint content is stored in a database, not as static files in some directory. (mainframe >> Sharepoint == !work)
Second, you could create a custom webpart that uses a connector to talk directly to the mainframe (Sharepoint >> mainframe == expensive custom development)
Thirdly, you could create a site that has a page of links. Those links would be to the server where the mainframe FTPs the files. This way the mainframe isn't trying to connect to the Sharepoint server. (mainframe >> ftp-server << Sharepoint == quick and dirty out-of-the-box solution)
Maybe an option is a to write a custom Webservice, that accepts the file as binary and the filename / path as parameters. Then deploy the WebService to sharepoint.
Another option is to write a Windows Service that uses a FileSystemWatcher to detect changes to a folder on the sharepoint server you FTP to. The service then moves the file to sharepoint.
Sorry for all the Tag confusion on the top.
Now
Thirdly, you could create a site that has a page of links. Those links would be to the server where the mainframe FTPs the files. This way the mainframe isn't trying to connect to the Sharepoint server. (mainframe >> ftp-server << Sharepoint == quick and dirty out-of-the-box solution). Our FTP server will be decommisioned soon so we may not able to do it.
Second, you could create a custom webpart that uses a connector to talk directly to the mainframe (Sharepoint >> mainframe == expensive custom development).( Need to investigate. At present have no idea about it.If you can help with few examples it would be great)
What about the Email option to Lists in a share point site.Will mainframes be able to email to share point site directly?
Need more suggestions.

Deploying InfoPath forms to different SharePoint servers

How do you manage deploying InfoPath forms to different sharepoint servers? Is there a better way to deal all the data connections being site-specific without opening the forms, editing the data connections and republishing for each environment?
This is a common problem, if you are working on a dev-system and need deployments to a productive system from time to time. I use a script that performs (plain text) replacements based on regular expressions.
on each deploy:
make a backup of your form ;-)
Save your form as source code. (I suggest you work on source code files rather than the .xsn, because the xsn is only a renamed .cab with the source files in it. And you are able to use source control in a more satisfying way.)
open the manifest.xsf file
search for the xml node "DataConnections"
search and replace the site-url part
(Do not forget the save-path, file-&site attributes and publishUrl)
deploy from the InfoPath Designer
I use a script that does all the replacements. That works fine and already saved me a lot of work.
If I understand your scenario correctly:
You have an InfoPath form, with data connections that submit your data.
You wish to deploy this form on multiple SharePoint Servers and have those data connections submit data to the currently deployed server.
You can't really get around needing to do work on every SharePoint server that you would want to deploy the form to. However, you can get around needing to modify the InfoPath Form Template.
If you use the SharePoint Data Connection Library (DCL), and create a UDC file from your data connection, on every SharePoint Server that you would want to use...then your InfoPath Template can just talk to the UDC file.
Here's a link to an article about integrating InfoPath with SharePoint's DCL:
http://msdn.microsoft.com/en-us/library/bb267335.aspx
If you go into the submit options, there is an option to perform custom action using rules. If you have all of the data connections set up, you can configure rules to select which connection to submit to.
re: speedfox's answer, try to stay away from editing the manifest whenever possible. It'll just lead to head aches.
If I understand your problem, you're deploying to multiple servers (DEV, UAT, Production) and need to edit the data connection manually every time you go from one environment to another? Forgive me if I've over simplified the problem
I've found the best way to make data connections site relative is to:
Use data connection files in your form. Open the data connection wizard in infopath and for all of you data conencting click "Convert..." this changes your data connection from being embedded in the form to being an independant XML file. You'll need a Data Conenction Library on you sharepoint site to store these in. Create that in the browser.
After you've converted and the connection go back into it and there will be a Connection Options... button use it to change from "Local data connection library" to "Centrally managed connection library"
Upload the data connection that is in your sites Data Connection Library to central admin
When you publish your form make sure you're publishing to a centrally managed location (Central Admin)
Use your form as a content type in any forms library on that site collection.
To use the form on another site, upload the data connection file to the new servers central admin and publish the (unchanged) form to the centrally managed forms.
See my blog post where I take you step-by-step with relevant snapshots covering the following:
a. Converting InfoPath Data Connections to DCL library in SharePoint.
b. Publishing InfoPath form to a SharePoint List/Library
c. Creating a .wsp solution package for the InfoPath form and its code-behind
d. Creating a batch script that will deploy the InfoPath form on your Production site.
e. Ensuring the InfoPath form has been deployed as a feature
f. Modify the DCL's in the production environment.
g. Associate the InfoPath Content Type with the Document/Forms Library
See the full blog post at: http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html
By site-specific, do you mean that the data connections in your forms refer to the server the form is deployed to? If that's the case perhaps you could tweak your connections to use localhost instead of the server name for the hostname part of the data connection URLs.
In my scenario, I am not using the built-in "save" button. I have a data connection that I use to "post" the data to another list.
Yes, that's what I mean by site-specific. I don't think you can use localhost 'cos then when a user saves the form, it'll try to post to the user's computer (i.e. localhost). I have tried to use relative paths but that doesn't seem to work.

Resources