Wednesday, August 29, 2007

iGoldmine and Log On Local Rights.

After getting iGoldmine configured and allowing access through the firewall, I had a problem with regular users loggin in. I could, as an administrator, but my other users could not.

The first article I saw had me pull up the local Security settings Management console. I can't remember how they had me do that. But, when I clicked on "Allow log on Locally", the option to "Add user or group" is grayed out.

I found another article here. Here are the steps to use the Default Domain Controller Security Settings instead. This gave me the choice to add users or groups.
  1. Click Start, point to Programs, point to Administrative Tools, and then click Domain Controller Security Policy.
  2. Double-click the Security Settings folder, double-click Local Policies, and then click User Rights Assignment.
  3. Under the Policy column, click Allow Log on Locally, and then click Add.

I created a group called iGoldmine and added it to this policy. Now any user I add to that group can use iGoldmine.

ISA 2004 and iGoldmine

A few months ago I moved my sales staff to a new server. This put them on a seperate network with it's own internet connection. I have needed to get iGoldmine up and working but I had not done that. Until today. And it was a pain, which I actually started day before yesterday. The first nightmare was that my machine wouldn't reboot after installing iGoldmine. Turns out they have an incompatibility with one of the microsoft updates.
This is always a problem with goldmine. I am not real pleased with igoldmine but I have no other options owing to the fact that we use goldmine and want remote access. Anyway, the solution was to apply the iGoldmine patch in safe mode. Then I had to remove an icompatible windows patch after that. Pain in the but. This is a patch from back in April, 4 months ago. You would think they would get it fixed.
Anyway, after getting it installed, it worked from inside the firewall, but not outside. Goldmine tech support of course was of no assistance and said they dont' support firewall configurations, which is typical of their support, they are extremely unhelpful even though I am sure they have thousands of customers with the same issues. I didn't find much, other than people asking the same questions, in the forums.
So here is how I finally got iGoldmine working through my ISA 2004 firewall(I know you might think it so much more than a firewall and it may well be, whatever).
I am on Small Business Sever 2003, if that makes any difference to you
  1. Open "Microsoft Internet Security and Acceleration Server" Management Console.
  2. Click on your server
  3. Click on "Firewall Policy"
  4. Right click and chooose New/Access Rule (or click "Create a New Access Rule" int he task menu.
  5. Name it what you want, I chose "iGoldmine". Click Next
  6. Choose "Allow". click next.
  7. For "This rule applies to" choose "Selected Protocols"
  8. Click Add
  9. Now you are at the "Add Protocols" Window.
  10. You will notice at the top of the protocol "type" list there is 3 menus. New, Edit Delete. Edit and Delete may be grayed out if you haven't selected a protocol
  11. Click New, then Choose Protocol
  12. Give it a name, I like to confuse myself so I called it "iGoldmine". Same name, but this is a protocol and not an access rule.
  13. Choose New in the "New Protocol Definition Wizard"
  14. You want the following: Protocol Type:TCP, Direction:Outbound:Port Range from 491 to 491. Probably the only changes you need to make are to the port range values, the rest are probably defaulted correctly.
  15. Click Ok
  16. Click new again
  17. This was the one that got me. You need an inbound filter for port 80.
  18. Protocol Type:TCP, Direction:Inbound, Port Range From 80 to 80. If you don't use port 80 you will need to change this in the iGoldmine cluster manager, but you do have that option
  19. Click ok
  20. Click Next
  21. Choose No on Secondary Connection, Click next.
  22. Click Finish
  23. No to add them you will need to find them in the "Add protocols" window. Probably the easiest is to choose All protocols and find them in alphabetical order. You ned to choose the ones you just added and click add to add them to the protocols section of the New Access Rule Wizard.
  24. Click close once you have done that.
  25. Click next
  26. Access Rule Sources. Choose External. Click next
  27. Access Rule Destinations. Choose "Local Host"
  28. Click next
  29. Leave default "All Users", Click next
  30. Click Finish.
That should do the trick. It should work immediately.
The next problem I had was giving users log on local rights. I was able to logon immediately after the above as an admin on the iGoldmine server, but regular users could not until I made some changes. I will talk abou that in my next post.

Monday, August 06, 2007

"Error 15023: User or role '%s' already exists in the current database."

Got this error recently when I downloaded a clients database from a shared host to my local machine. Tried to add the same user.

This article resolved it for me: http://www.codeproject.com/database/OrphanedSQLUsers.asp.

Here is the SQl that I ran "sp_change_users_login 'auto_fix', 'user'"

Friday, August 03, 2007

Tethering my Blackberry to my Laptop

When I first got my blackberry one of the things that interested me was the fact that I could "Tether" myh blackberry to my laptop. Which means that I could use my blackberry to get high speed internet access from anywhere I could use my cell phone(blackberry) Well the software to allow that didn't work with Windows Vista, so I kind of forgot about it for a while. Until today. I figured out that the motel my wife had got from hotwire didn't have high speed internet(I always try to remind her how important that is for me).

Anyway I called verizon and had them add the $15 a month thing that I needed for this to work and got instructions on how to download the software that I needed. The told me to go to http://www.vzam.net/. After driving around for about an hour I finally found an open wireless connection and was able to download the VZAccess Manager that I needed.

Wow. Here I am sitting in the middle of a big parking lot at some factory stores near Park City Utah, checking email and doing other tasks. And it was fast. I had a full bar EVDO connection and it screamed. The connection back at the motel is only 2 bars and it is bearable for email and surfing, although noticeably slower.

Turns out this "Motel" is actually condos and there was a DSL modem sitting on the floor unplugged. I plugged it in and I have DSL so I didn't even really need to set up the Broadband access with verizon, but hey I will be getting stuff done while the family is school shopping so I am going to stick with it for at least this month. Where I live, we don't have the EVDO towers. I wish verizon would get that rolled out to all their towers.

David Mineer

Thursday, August 02, 2007

Ten ColdFusion 8 OneLiners

Ten ColdFusion 8 OneLiners

Blog entry about some of CF8's best new features.

Wednesday, August 01, 2007

Importing Outlook Email into Google Apps (Gmail)

Here is an article about different ways to import existing email into your new Google Apps account.

http://www.hanselman.com/blog/MigratingAFamilyToGoogleAppsFromGmailThunderbirdOutlookAndOthersTheDefinitiveGuide.aspx

This is mentioned in that article, but looks like a tool to make some migrations very simple: http://www.limitnone.com/products.php

Maybe not free, but what is your time worth?

Saturday, July 28, 2007

Yslow for Firebug

As mentioned in Sean Coorfield's Blog. Yslow for firebug is a great little utility to use on your own web site.

Friday, July 27, 2007

The proper way to ask questions in newsgroups and other forums

Sean Corfields blog had a great post about blunt to the point article about posting quesitons to newsgroups, email lists and other forums for technical answers. I am one that is always nervous to ask a question, but this does not offend me, yet instead offers some good insight on the effort we should all take before we expect someone else to spend their valuable time helping us. There are alot of people that offer alot of help and to them I am grateful. The article:

http://www.catb.org/~esr/faqs/smart-questions.html

Tuesday, June 26, 2007

Problem Rotating Images

Several Times my users have complained to me that they were unable to rotate images using windows picture and fax viewer. This seems odd to me because they can rotate other pictures, just not some.

Anyway I found an article that provided the fix for this:

http://groups.google.com/group/microsoft.public.windowsxp.photos/browse_thread/thread/bf93b6a7f38c2520/68e7606cddf2dd30%2368e7606cddf2dd30

Just click the ctrl and X button in windows picture and fax viewer and it will reset the warning message, which, if you choose yes to go ahead anyway will rotate the picture.

Yep, as simple as getting the dialog box back. I guess you just have to answer the dialog box each time.

Tuesday, May 29, 2007

Next N records, paginated sql server results

I have several places on my web site where I let the user page through search results and recordsets. Usually this is inneficient because your return all resulsts and essentially hide everything but the rows they want to see. This is very inneficient and the only examples of doing this correctly were difficult at best.

Well, with SQL Server 2005 there is a new feature - ROW_NUMBER() that makes this simpoler to implement. Not 100% intuitive but I was able to figure it out. The following link is a good tutorial that helped me:

http://www.davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx

Thursday, May 24, 2007

Dynamic SQL Where statements

I was trying to figure out how to use an if statement in the where clause of a sql statement. I came across this article that explains the use of coalesce. This is a great way to handle this.

http://www.sqlteam.com/item.asp?ItemID=2077

SELECT Cus_Name,
Cus_City,
Cus_Country
FROM Customers
WHERE Cus_Name = COALESCE(@Cus_Name,Cus_Name) AND
Cus_City = COALESCE(@Cus_City,Cus_City) AND
Cus_Country = COALESCE(@Cus_Country,Cus_Country)

Read the article to understand it. Basically if there is a value provided to the stored procedure then the comparison is done. If there is no value it essentially includes all records or (matches itself). I know, that doesn't make sense.

Thursday, May 17, 2007

Setting Parameters in Crystal Reports .NET

Well, I missed the post about setting parameters. That was one of the puzzle pieces too and I got lazy and didn't post about it. Here it is.

Setting Parameters in Crystal Reports .NET

A number of methods out there use the CrystalReportViewer control to set parameters. That's great unless you need to export your report to PDF (or XLS or RTF). This is a code snippet I use, it comes from Business Objects tech support:

rptCount = New ReportDocument
rptCount.Load(Server.MapPath("reportname.rpt"))

''Get the collection of parameters from the report
crParameterFieldDefinitions = rptCount.DataDefinition.ParameterFields
''Access the specified parameter from the collection
crParameter1 = crParameterFieldDefinitions.Item("Param1")
crParameter2 = crParameterFieldDefinitions.Item(“Param2")

''Get the current values from the parameter field. At this point
''there are zero values set.
crParameter1Values = crParameter1.CurrentValues
crParameter2Values = crParameter2.CurrentValues

''Set the current values for the parameter field
crDiscrete1Value = New ParameterDiscreteValue
crDiscrete1Value.Value = Request.Form(“param1value“)

crDiscrete2Value = New ParameterDiscreteValue
crDiscrete2Value.Value = Request.Form(“param2value“)

''Add the first current value for the parameter field
crParameter1Values.Add(crDiscrete1Value)
crParameter2Values.Add(crDiscrete2Value)

''All current parameter values must be applied for the parameter field.
crParameter1.ApplyCurrentValues(crParameter1Values)
crParameter2.ApplyCurrentValues(crParameter2Values)

Crystal Reports Database Login

The last major piece of my puzzle. This code lets me pass database and login information.

http://diamond.businessobjects.com/node/134

VB.NET
---------

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared


Dim crtableLogoninfos As New TableLogOnInfos()
Dim crtableLogoninfo As New TableLogOnInfo()
Dim crConnectionInfo As New ConnectionInfo()
Dim CrTables As Tables
Dim CrTable As Table
Dim TableCounter

'If you are using a Strongly Typed report (Imported in
'your project) named CrystalReport1.rpt use the
'following:

Dim crReportDocument As New CrystalReport1()

'If you are using a Non-Typed report, and
'loading a report outside of the project, use the
'following:

Dim crReportDocument As New ReportDocument()

crReportDocument.Load("c:\myReports\myReport.rpt")

'Set the ConnectionInfo properties for logging on to
'the Database

'If you are using ODBC, this should be the
'DSN name NOT the physical server name. If
'you are NOT using ODBC, this should be the
'physical server name

With crConnectionInfo
.ServerName = "DSN or Server Name"

'If you are connecting to Oracle there is no
'DatabaseName. Use an empty string.
'For example, .DatabaseName = ""

.DatabaseName = "DatabaseName"
.UserID = "Your User ID"
.Password = "Your Password"
End With

'This code works for both user tables and stored
'procedures. Set the CrTables to the Tables collection
'of the report

CrTables = crReportDocument.Database.Tables

'Loop through each table in the report and apply the
'LogonInfo information

For Each CrTable in CrTables
CrTableLogonInfo = CrTable.LogonInfo
CrTableLogonInfo.ConnectionInfo =
crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)

'If your DatabaseName is changing at runtime, specify
'the table location.
'For example, when you are reporting off of a
'Northwind database on SQL server you
'should have the following line of code:

crTable.Location = "Northwind.dbo." &
crTable.Location.Substring(crTable.Location.LastIndexOf(
".") + 1)
Next

'Set the viewer to the report object to be previewed.

CrystalReportViewer1.ReportSource = crReportDocument

Thursday, May 10, 2007

Crystal Reports Export to PDF

Well, I finally did it. The code below is what lets me export a crystal report to a pdf file. Previous entries outline some of the steps I have taken to get here. Not sure if all were necessary but it works. No I have to figure out how to pass parameters, datasource and login information. On to figure that out.

Option Strict On
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Partial Class _Default
Inherits System.Web.UI.Page
Private exportPath As String
Private myDiskFileDestinationOptions As DiskFileDestinationOptions
Private myExportOptions As ExportOptions
Private myReport As ReportDocument
Private selectedNoFormat As Boolean = False
Private Sub ConfigureCrystalReports()
myReport = New ReportDocument()
myReport.Load("C:\websites\rpt\report1.rpt")
'myCrystalReportViewer.ReportSource = myReport
End Sub

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
ConfigureCrystalReports()
ExportSetup()
myExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat
myDiskFileDestinationOptions.DiskFileName = exportPath & "PortableDoc.pdf"
myExportOptions.DestinationOptions = myDiskFileDestinationOptions
myReport.Export()
End Sub
Public Sub ExportSetup()
exportPath = "C:\Exported\"
If Not System.IO.Directory.Exists(exportPath) Then
System.IO.Directory.CreateDirectory(exportPath)
End If
myDiskFileDestinationOptions = New DiskFileDestinationOptions()
myExportOptions = myReport.ExportOptions
myExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
End Sub
End Class

Tuesday, May 08, 2007

Use a javascript confirm box to ask the user if they want to delete.

Found this here: http://psacake.com/web/iw.asp

Monday, April 30, 2007

Crystal Reports XI on Windows Vista

http://support.businessobjects.com/downloads/service_packs/crystal_reports_en.asp

Talked to tech support about this and this was the link he gave me for the new build that is vista compatible.
Crystal Report Viewer missing images

I think I mentioned in a previous post that I had done the server install for the .net crystal report viewer appication or whatever you want to call it. Everything worked except for the images on the toolbar weren't showing up. I found this post concerning that which fixed my issue:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=566717&SiteID=1

Look at the post marked as the answer.
Tutorial: Exporting to Multiple Formats

I have been eager to get back to the office and continue my quest to get Crystal reports exporting to .pdf. Today I worked on a tutorial to export to different format. I am mainly interested in .pdf but the tutorial went through exporting to many different formats. The link to the tutorial is below.

http://msdn2.microsoft.com/en-us/library/ms227606(VS.80).aspx

I didn't hit many roadblocks. This tutorial does not show you the exported file, it only gives you a message of success or failure. You have to browse to the location of export (Default: C:\exported\) to see the file that was created. I am sure a redirect wouldn't be too dificult, but I can do that later.

Now, on to passing parameters to the reports.

Dave

Friday, April 27, 2007

Crystal Reports and the Web Part 2

Here I am 7 hours later and I have been pretty good today to focus on the issue at hand. Deploying crystal reports to my web server. I had to learn .net from almost scratch cause I have never used it before.

I did it. Got it working. If I had to do it over again, I could do it alot quicker. I hope these notes will benefit somebody.

My Setup:
Dell Lattitude D820 Windows Vista Business
Server: Windows 2003 (Hosted)

  1. Install Visual Studio 2005. I got a free 90 day trial from Microsoft. After today I am almost positive I will buy it. Seriously, The time I saved on this one project will pay for the $700 or so that it costs. Without it I could have spent week(s). In fact I did spend several days without success last year on this.
  2. Installed SP1 for Visual Studio
  3. Installed SP1 Update for Visual Studio for Windows Vista(I first tried to install just this file, but come to find out you need the main Service Pack installed first.
  4. Installed SP2 for MSSQL Server Express
  5. Then I found the tutorial here: http://msdn2.microsoft.com/en-us/library/ms225276(VS.80).aspx
  6. I followed the developer link.
  7. Next I clicked on the link "Persisting the ReportDocument Object Model Using Session" This seems a little strange, I know but it has a good step by step tutorial which I followed.
  8. You will notice all the resources on the left under the Crystal Reports heading. 80% of the information I found was from this MSDN site.
  9. Some search results from the MSDN Site: http://search.msdn.microsoft.com/search/Default.aspx?brand=msdn&locale=en-us&query=crystal+reports
  10. One thing I got sidetracked on was installing IIS on my laptop (Dev Machine) That is unnecessary. Visual Studio has a development web server built in. The way I found to use it was to right click on the "default.aspx" file in the solution explorer and choose "View in Web Browser". This starts the devel0pment web server and lets you view the page.
  11. The tutorial was detailed enough that I didn't really stumble to much in that section.
  12. On the server side I had a few problems. Yesterday I had installed Crystal Reports XI SP 2. This, I think is unnecessary. I didn't uninstall it since I already had it, but the key to making it work on the server was downloading this file: http://support.businessobjects.com/communityCS/FilesAndUpdates/crXIr2_net_server_install.zip.asp
  13. The page with the link to that file is here: http://support.businessobjects.com/downloads/merge_modules.asp#06
  14. I used this download: "Crystal Reports XI Release 2 for Visual Studio .NET Server Install - This file contains the Server Install file for Crystal Reports XI Release 2 for Visual Studio .NET."
  15. That worked great, after I installed that on my server, it was working.
  16. The only problem left was the icons on the toolbar for the crystal report viewer are not showing up. I will troubleshoot that later.
  17. I created a simple test report with no datasources and just a little text to test it and it worked.
  18. Other Helpful links:
  19. http://www.businessobjects.com/products/dev_zone/net/2005.asp
  20. http://www.businessobjects.com/global/pdf/dev_zone/VS2005_Walkthroughs.pdf
  21. http://msdn2.microsoft.com/en-us/library/ms225593(VS.80).aspx
  22. There was alot of talk about building an msi installation package. I played with that in different sorts of ways until I finally found the server install package listed above. I think that if you just install that, you won't need to try and package the crystal report stuff, you get them from that install.

Monday I work on passing parameters and programatically outputting to .pdf. And I have to figure out why the toolbar icons don't show up.

Dave

Crystal Reports and the Web

For years I have been using crystal reports to output the contents of our database to a nice newsletter format. I use coldfusion for most programming and I started by using a web viewer that came with version 8 or something. Then I found an .asp page that would pass parameters to the report and export it to .pdf. This was perfect, although it felt very "kludgy". Well now I am faced with an upgrade of Crystal reports and a new server. It just seems impossible to find anything that will let me use coldfusion to directly call a report and output it to .pdf.

So, I start my first trip into the .net world. I only know that crystal reports integration with .net is fantastic. Now we see how fast I can get up to speed on .net.

I will try and keep you posted. I just downloaded 90 day trial of visual studio 2005. Service packs are downloading now. We will see if this is as easy as they say.