I am doing trend analysis of data from lotus notes. I need to manually export data from lotus notes and import it into excel. Is there a way to automate this? I can even work with Access. I tried to create an agent and I do not have access to do so.
There are many ways to do this, depending on your skills and your access to the Notes database.
First of all, when you say "I do not have access to [create an agent]", are you saying that you don't have designer access to the database where the data lives?
If that is the case, simply build a separate Notes application, and write your export agent there. Put that application on the same server, and you can set the export to run every night 8or whenever you like).
Another option is to use COM in Access and pull the data over that way. You have all the COM classes documnented in the Domino Designer help, and the code should be very similar to what you would writ in Lotusscript.
A third option, if the database is web enabled, is to use HTTP to pull the data out of views. You can read it using ?ReadViewEntries, either as XML or as JSON. This requires that all the data you need is exposed in the view, though.
I think the first option is the best, though. However, if you have been tasked with creating this export, you should be able to ask for proper access to the database...
I know this is a past posting, but someone may need the latest answers get to Domino Data.
You can export any view in Notes. File -> Export -> Select CSV as the option.
Then there is the IBM ODBC driver. There are two versions. One for 8.5.3 and another for 9.x. Download here http://www.ibm.com/developerworks/lotus/toolkits.html
Instructions on how to install here http://xpagesbeast.com/uxdesign/dont-forget-about-the-notessql-driver/
Using DomSQL which is a true JDBC driver for Notes Domino data. Non Notes environments can execute SQL SELECT queries using this JDBC driver.
http://www.openntf.org/main.nsf/blog.xsp?permaLink=NHEF-8Q7AW3
Using the Domino REST Services. You can access DominoData through a URL and it returns JSON. There are URLs to get all database instances on the server, then you can get all views in the server, and you can then access documents in the views.
http://www-10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=openDocument&content=catcontent&ct=api
If you cannot create an agent (no designer access) you can try to install NotesSQL (ODBC driver) besides your Notes Client and access with Excel, MsQuery, etc. with your user id.
You can find more information here: http://www.ibm.com/developerworks/lotus/products/notesdomino/notessql/
Related
I plan on using Excel as the front-end and Access as the back-end only. (all queries and forms are in Excel). A single Access database will be queried from multiple Excel files that will be located on the share drive (Linux server). Access tables contain memo, text and number fields.
Data will be sent to Access tables and records will be appended/deleted; all via Excel.
There will be multiple users interacting with a single Access database via multiple Excel files located on the shared drive. Users will be interacting from different workstations with Windows 7, all have Access 2010 and Excel 2010 installed.
This process works for me from my workstation but I’m not sure what will happen when other 4 people will be sending/appending/deleting records to the same Database?
How do I make this work? What settings do I need to check in Access to make this possible?
Any advice will be greatly appreciated since I’m fairly new to Access.
Thank you!
Access is a file-server, and not a data-server.
That's means when you do a query on an Access database, all the data are going to the client part, who process the query.
Let a query "get the books written by Kernighan" in your Excel. Excel will ask to Access (throught the ADO or DAO) : "send me all the books". Access will send ALL the books, and Excel will find the book written by Kernighan.
In the same way, if Excel (still with ADO / DAO) want to make an update, it does it localy. The Access database will just set up a flag to prevent conflicts. (btw, this flag is stored in the .laccdb file)
In your case, all that are done by the ADO/DAO layer, which will
send all the data
set a flag to prevent the conflicts if one data is in Edit mode
So, to be short : yes, you can do it ;)
I am switching from Lotus Notes into sharepoint, but I find it hard to access the data that I want easily. I am currently using documents application on sharepoint. The only options it offers are creating or uploading a new file or folder. In my lotus notes I can access files in different ways based on some categorizations such as client, author, date modified and some other categorizations. Moreover I can even categorize them based on data and client at the same time for example. All I need to do is a single click and everything is managed by notes. What are your suggestions?
That's why an "easy" migration so sharepoint never works: Notes is not only a "datastore" but almost every time contains application logic.
To get the same in sharepoint, you need to export the "metadata" of your application including attachments and evertyhing to a structure that you can import in sharepoint.
Then you need an "application" in sharepoint that has the necessary fields for your metadata and different views in sharepoint.
You need development knowledge on side of Lotus Notes to create your export and development knowledge on SharePoint to create the application there and import the data.
Without someone who knows how it works or one of the "magic migration tools" in the market, you will not succeed.
And this is something that nobody who makes an analysis to migrate to outlook / sharepoint takes into account...
And this is the reason, why every company trying to migrate that I know still uses Domino in addition to Outlook / Sharepoint and not even one was able to shutdown the domino servers / get rid of Notes- Client...
My task is to pull the data from lotusnotes database using one of the technologies.... I wanna know which is a better technology... I have already installed NotesSQL odbc driver & configured it
Depends on what exactly you're trying to do, NotesSQL will let you pull data, or you can export from Lotus Notes views in csv format, it's standard functionality. You could also code a scheduled agent to dump data at a regular intervals etc etc.
Your question is similar to this one. My answer goes into some detail about how to access Lotus Notes using Java, setup instructions and what to read for API's supporting it.
I have a list in sharepoint which maintains particular month OnCall list,and we are maintaining employee directory in sql server. My requirement is to get complete data from sql server and show it in sharepoint and compare with sharepoint list and show small icon for the employees who are On Call for that particular Month. Can anyone please suggest me the waus of implementing this.
Thanks in advance.
Update: I have finished the part where I have to connect to the sqlserver database and get the employees information. For this we are using 3rd party web part to connect to the sql server and pull the data from the table. Now I have to show some kind of image on the employee name to show that he is on-call for that week. We are going to cretae custom list for maintaing the list of people who are on-Call. Can anyone please advise me on how to accomplish this.
Write a custom webpart which will pull the data from the list using sharepoint object model and SQL server using ADO.NET and do the said comparison.
If you were looking for out of the box, I am afraid there i too little information given here to analyze if its feasible out of the box or not.
If you have the SharePoint Enterprise version, you can look at using the Business Data Catalog. This will let you bind columns to external data sources. This might provide you with the functionality you're looking for.
If you do not have the Enterprise features, do you have access to deploy WSP packages and custom code?
You will have to write your own data access to your external data source. Your options would be to have a job that pulls data from the external data source and populates SharePoint list(s) or create a custom view that pulls the external data on-demand.
You'll have to come up with synchronization strategies. Meaning, is the data in the external SQL data source static, reference information that does not need to be updated depending on what a user does in SharePoint? This seems to be the case based on your question. If you do need to update the external data source, you'll have to hook into the on save event (so probably a custom event handler that listens for ItemAdding) to update the data, validate, and optionally cancel the operation with an error message.
If you can't deploy WSP packages / DLLs, you could take a look at the jQuery SharePoint library. This will let you interact with lists using jQuery. If you also write a WCF or Web Service wrapper around the data you need access to from your external data source that is accessible from the SharePoint environment, you can use hack together a solution.
To accomplish this you'd need to place a Content Editor Web Part on the page you need custom data access. In there you will write the code to reference the jQuery javascript library and jQuery SharePoint library. The code will have to make the calls to your external data service and make any updates you need.
This is the least reliable method to accomplish what you want since it's entirely page-based and can be broken by simply disabling script or someone editing the CEWP or removing it altogether.
If you don't have access to place a CEWP or any of the other solutions, then you have no options at all.
it relatively easy now to pull all the data using the third party webpart and saving it into a custom list. I would recommend you not only creating custom list but also creating the content types for this list. take a look at SharPoint MVP's post about creating a Custom List with Content Types
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.