Commit 8848106b authored by Meelad Vahdat's avatar Meelad Vahdat

In preparation of release:

- Updated README.md
- Updated README.md image
- Improved AboutForm.cs
- Increased timeout time on Personator.cs
- Changed menuStrip to make more sense in MainForm.cs
Signed-off-by: Meelad Vahdat's avatarMeelad Vahdat <meelad@melissadata.com>
parent 3073682f
......@@ -90,16 +90,18 @@
this.setLicenseTextBox = new System.Windows.Forms.TextBox();
this.creditsLabel = new System.Windows.Forms.Label();
this.menuStrip = new System.Windows.Forms.MenuStrip();
this.licenseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.gettingStartedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.obtainLicenseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.creditsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutCreditsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.purchaseCreditsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.numberOfThreadsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.numberOfThreadsMenuStripTextBox = new System.Windows.Forms.ToolStripTextBox();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutCreditsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutMelissaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.wikiToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pauseButton = new System.Windows.Forms.Button();
this.gitlabToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.inputFileGroupBox.SuspendLayout();
this.inputFileQualifierGroupBox.SuspendLayout();
this.inputFileDelimiterGroupBox.SuspendLayout();
......@@ -778,91 +780,95 @@
//
this.menuStrip.BackColor = System.Drawing.SystemColors.Control;
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.licenseToolStripMenuItem,
this.creditsToolStripMenuItem,
this.aboutToolStripMenuItem,
this.optionsToolStripMenuItem});
this.fileToolStripMenuItem,
this.helpToolStripMenuItem});
this.menuStrip.Location = new System.Drawing.Point(0, 0);
this.menuStrip.Name = "menuStrip";
this.menuStrip.Size = new System.Drawing.Size(841, 24);
this.menuStrip.TabIndex = 23;
this.menuStrip.Text = "menuStrip";
//
// licenseToolStripMenuItem
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.gettingStartedToolStripMenuItem,
this.numberOfThreadsToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "File";
//
// gettingStartedToolStripMenuItem
//
this.licenseToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.obtainLicenseToolStripMenuItem});
this.licenseToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 8.25F);
this.licenseToolStripMenuItem.Name = "licenseToolStripMenuItem";
this.licenseToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
this.licenseToolStripMenuItem.Text = "License";
this.gettingStartedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.obtainLicenseToolStripMenuItem,
this.purchaseCreditsToolStripMenuItem});
this.gettingStartedToolStripMenuItem.Name = "gettingStartedToolStripMenuItem";
this.gettingStartedToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.gettingStartedToolStripMenuItem.Text = "Getting Started";
//
// obtainLicenseToolStripMenuItem
//
this.obtainLicenseToolStripMenuItem.Name = "obtainLicenseToolStripMenuItem";
this.obtainLicenseToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
this.obtainLicenseToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
this.obtainLicenseToolStripMenuItem.Text = "Obtain License";
this.obtainLicenseToolStripMenuItem.Click += new System.EventHandler(this.obtainLicenseToolStripMenuItem_Click);
//
// creditsToolStripMenuItem
//
this.creditsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.aboutCreditsToolStripMenuItem,
this.purchaseCreditsToolStripMenuItem});
this.creditsToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 8.25F);
this.creditsToolStripMenuItem.Name = "creditsToolStripMenuItem";
this.creditsToolStripMenuItem.Size = new System.Drawing.Size(55, 20);
this.creditsToolStripMenuItem.Text = "Credits";
//
// aboutCreditsToolStripMenuItem
//
this.aboutCreditsToolStripMenuItem.Name = "aboutCreditsToolStripMenuItem";
this.aboutCreditsToolStripMenuItem.Size = new System.Drawing.Size(159, 22);
this.aboutCreditsToolStripMenuItem.Text = "About Credits";
this.aboutCreditsToolStripMenuItem.Click += new System.EventHandler(this.aboutCreditsToolStripMenuItem_Click);
//
// purchaseCreditsToolStripMenuItem
//
this.purchaseCreditsToolStripMenuItem.Name = "purchaseCreditsToolStripMenuItem";
this.purchaseCreditsToolStripMenuItem.Size = new System.Drawing.Size(159, 22);
this.purchaseCreditsToolStripMenuItem.Size = new System.Drawing.Size(162, 22);
this.purchaseCreditsToolStripMenuItem.Text = "Purchase Credits";
this.purchaseCreditsToolStripMenuItem.Click += new System.EventHandler(this.purchaseCreditsToolStripMenuItem_Click);
//
// aboutToolStripMenuItem
//
this.aboutToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 8.25F);
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(51, 20);
this.aboutToolStripMenuItem.Text = "About";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
//
// optionsToolStripMenuItem
//
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.numberOfThreadsToolStripMenuItem});
this.optionsToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 8.25F);
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
this.optionsToolStripMenuItem.Text = "Options";
//
// numberOfThreadsToolStripMenuItem
//
this.numberOfThreadsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.numberOfThreadsMenuStripTextBox});
this.numberOfThreadsToolStripMenuItem.Name = "numberOfThreadsToolStripMenuItem";
this.numberOfThreadsToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
this.numberOfThreadsToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.numberOfThreadsToolStripMenuItem.Text = "Number of Threads";
this.numberOfThreadsToolStripMenuItem.MouseEnter += new System.EventHandler(this.numberOfThreadsToolStripMenuItem_MouseEnter);
//
// numberOfThreadsMenuStripTextBox
//
this.numberOfThreadsMenuStripTextBox.Font = new System.Drawing.Font("Segoe UI", 8.25F);
this.numberOfThreadsMenuStripTextBox.MaxLength = 2;
this.numberOfThreadsMenuStripTextBox.Name = "numberOfThreadsMenuStripTextBox";
this.numberOfThreadsMenuStripTextBox.Size = new System.Drawing.Size(100, 22);
this.numberOfThreadsMenuStripTextBox.Size = new System.Drawing.Size(100, 23);
this.numberOfThreadsMenuStripTextBox.Text = "5";
this.numberOfThreadsMenuStripTextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.numberOfThreadsMenuStripTextBox_KeyPress);
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.aboutCreditsToolStripMenuItem,
this.aboutMelissaToolStripMenuItem,
this.wikiToolStripMenuItem,
this.gitlabToolStripMenuItem});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem.Text = "Help";
//
// aboutCreditsToolStripMenuItem
//
this.aboutCreditsToolStripMenuItem.Name = "aboutCreditsToolStripMenuItem";
this.aboutCreditsToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.aboutCreditsToolStripMenuItem.Text = "About Credits";
this.aboutCreditsToolStripMenuItem.Click += new System.EventHandler(this.aboutCreditsToolStripMenuItem_Click);
//
// aboutMelissaToolStripMenuItem
//
this.aboutMelissaToolStripMenuItem.Name = "aboutMelissaToolStripMenuItem";
this.aboutMelissaToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.aboutMelissaToolStripMenuItem.Text = "About Melissa";
this.aboutMelissaToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
//
// wikiToolStripMenuItem
//
this.wikiToolStripMenuItem.Name = "wikiToolStripMenuItem";
this.wikiToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.wikiToolStripMenuItem.Text = "Wiki";
this.wikiToolStripMenuItem.Click += new System.EventHandler(this.wikiToolStripMenuItem_Click);
//
// pauseButton
//
this.pauseButton.Enabled = false;
......@@ -875,6 +881,13 @@
this.pauseButton.Visible = false;
this.pauseButton.Click += new System.EventHandler(this.pauseButton_Click);
//
// gitlabToolStripMenuItem
//
this.gitlabToolStripMenuItem.Name = "gitlabToolStripMenuItem";
this.gitlabToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.gitlabToolStripMenuItem.Text = "Gitlab";
this.gitlabToolStripMenuItem.Click += new System.EventHandler(this.gitlabToolStripMenuItem_Click);
//
// MainForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
......@@ -980,11 +993,6 @@
private System.Windows.Forms.TextBox setLicenseTextBox;
private System.Windows.Forms.Label creditsLabel;
private System.Windows.Forms.MenuStrip menuStrip;
private System.Windows.Forms.ToolStripMenuItem creditsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutCreditsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem purchaseCreditsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem licenseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem obtainLicenseToolStripMenuItem;
private System.Windows.Forms.CheckBox reportingCheckBox;
private System.Windows.Forms.Label reportingMelissaContactLabel;
private System.Windows.Forms.Label reportingJobDescriptionLabel;
......@@ -992,11 +1000,18 @@
private System.Windows.Forms.TextBox reportingMelissaContactTextBox;
private System.Windows.Forms.TextBox reportingJobDescriptionTextBox;
private System.Windows.Forms.TextBox reportingClientNameTextBox;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
private System.Windows.Forms.Button pauseButton;
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem gettingStartedToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem obtainLicenseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem purchaseCreditsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem numberOfThreadsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutCreditsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutMelissaToolStripMenuItem;
private System.Windows.Forms.ToolStripTextBox numberOfThreadsMenuStripTextBox;
private System.Windows.Forms.ToolStripMenuItem wikiToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem gitlabToolStripMenuItem;
}
}
......@@ -27,7 +27,7 @@ namespace ListwareDesktop
{
#region Global Vars
//Some static fields that are used between the service, the GUI, and the different windows
private static readonly string _version = "2.0";
private static readonly string _version = "2.1";
internal static readonly string _lwdtSrc = "mdSrc:{product:ListwareDesktop;version:" + _version + "}";
private static string creditAmt = "";
......@@ -1164,7 +1164,7 @@ namespace ListwareDesktop
if (outputFileProgressCheckBox.Checked)
{
outputFileProgressCheckBox.ForeColor = Color.DarkSeaGreen;
this.reportingGroupBox.Enabled = true;
this.enableReportingGroupBox();
}
else
{
......@@ -1224,7 +1224,7 @@ namespace ListwareDesktop
this.outputFileGroupBox.Enabled = true;
this.configurationGroupBox.Enabled = true;
this.progressGroupBox.Enabled = true;
this.reportingGroupBox.Enabled = true;
this.enableReportingGroupBox();
}
private void enableInputProgressGroupBoxes()
......@@ -1260,7 +1260,7 @@ namespace ListwareDesktop
private void obtainLicenseToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("https://www.melissa.com/plugins/listware");
System.Diagnostics.Process.Start("https://www.melissadata.com/user/signin.aspx");
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
......@@ -1283,11 +1283,29 @@ namespace ListwareDesktop
numberOfThreadsMenuStripTextBox.Text = "1";
}
}
private void wikiToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("http://wiki.melissadata.com/index.php?title=Listware_Desktop");
}
private void gitlabToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("https://git.melissadata.com/Listware/ListwareDesktopNET");
}
#endregion
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region Reporting
private void enableReportingGroupBox()
{
if(Directory.Exists("Reporting") && File.Exists(@"Reporting\ValidDescriptions.cfg") && File.Exists(@"Reporting\ValidFilters.cfg") && File.Exists(@"Reporting\ReportTemplate.html"))
{
reportingGroupBox.Enabled = true;
}
}
//Enable or disable reporting textboxes depending on if the checkbox is checked
private void reportingCheckBox_CheckedChanged(object sender, EventArgs e)
{
......
......@@ -57,6 +57,7 @@ namespace ListwareDesktop.Services
httpWebRequest = (HttpWebRequest)WebRequest.Create(smEndpointUS);
httpWebRequest.Timeout = 600000;
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
......
......@@ -83,7 +83,7 @@
// wikiLinkLabel
//
this.wikiLinkLabel.AutoSize = true;
this.wikiLinkLabel.Location = new System.Drawing.Point(214, 162);
this.wikiLinkLabel.Location = new System.Drawing.Point(214, 147);
this.wikiLinkLabel.Name = "wikiLinkLabel";
this.wikiLinkLabel.Size = new System.Drawing.Size(25, 13);
this.wikiLinkLabel.TabIndex = 7;
......
......@@ -25,7 +25,7 @@ namespace ListwareDesktop.Windows
private void wikiLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://wiki.melissadata.com");
System.Diagnostics.Process.Start("http://wiki.melissadata.com/index.php?title=Listware_Desktop");
}
private void websiteLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
......
# Listware Desktop
## Getting Started
To get started with Listware Desktop, you will need a Melissa license with credits, as well as the compiled application.
* To sign up and get a license, sign up [here](https://www.melissadata.com/user/signin.aspx).
* Credits can be purchased [here](https://www.melissa.com/credits/).
* The application can either be compiled using the code in this Git repository, or a pre-compiled version can be downloaded [here](http://update2.melissadata.com/4L15tWar3/ListwareDesktop.zip).
Information is also available at our [wiki](http://wiki.melissadata.com/index.php?title=Listware_Desktop).
Disclaimer: Although Listware Desktop is a ready to use application, it is not meant to be used as an enterprise tool. As an open sourced tool we encourage you to change and fix any issues that you experience with the software. We will note any issues you submit to Melissa Global Intelligence, however they will not always be put at a high priority level.
## Description
This is **Listware Desktop** by Melissa Global Intelligence.
This is a batch application that enables users to quickly utilize our Web Services without having to do much coding.
A pre-compiled version of the application will shortly be available on our [wiki](http://wiki.melissadata.com/index.php?title=Welcome).
A pre-compiled version of the application will shortly be available on our [wiki](http://wiki.melissadata.com/index.php?title=Listware_Desktop).
Currently, two services are incorporated into the application.
Currently, seven services are incorporated into the application.
* BusinessCoder
* Global Address
* Global Email
......@@ -32,6 +42,12 @@ The application is built through around 13 different classes. A quick runthrough
* IWS – A webservice interface. Every integrated webservice must have the methods and fields mentioned in this class.
* Output – A class built to send records to an output file.
* Record – A class that holds the field names and values for a single record.
* Images
* This file contains the images used for the logos
* Reporting
* GenerateReport - This class contains the logic to generate an HTML report and charts
* ValidDescriptions.cfg - A configuration file containing information regarding result codes
* ValidFilters.cfg - A configuration file that controls which charts go into which section
* Services (All WS classes will go in here)
* BusinessCoder
* Global Address
......@@ -41,7 +57,9 @@ The application is built through around 13 different classes. A quick runthrough
* Global Phone
* Personator
* Windows (These are just different windows that appear when different parts of the UI is clicked)
* AboutForm - A simple window that shows Melissa contact information
* InputPreviewForm – Input preview pane to let the user see if they selected the correct delimiters/text qualifiers
* OverwriteWarningForm - A window that prompts the user if they want to overwrite the current output file, if one exists
* SetConfigurationForm – Window that lets users select the WS options
* SetInputsForm – Window that lets users field in inputs (the GUI will attempt to automatically field them if this is not done)
* SetOutputsForm – Window that lets users select what output fields they want (all will be returned if left alone)
......@@ -52,15 +70,16 @@ The application is built through around 13 different classes. A quick runthrough
## Application Flow
When running the application, the events will occur in the following order:
* Select service from the service dropdown that is automatically generated using the titles of the classes within the “Services” folder. It is important to name your class what you want to be shown in this dropdown.
* Enter customer ID.
* Select input file and any delimiters/text qualifiers. Preview input file if needed.
* Select service from the service dropdown that is automatically generated using the titles of the classes within the “Services” folder. It is important to name your class what you want to be shown in this dropdown.
* Select or deselect pass through (selected by default).
* Field inputs by pressing “Set Input Columns”. If this is not done then the input columns will attempt to auto-field based on AutoDetectInputs.cs. If no fields could be detected, an error message is thrown.
* Set service options through “Set Configuration”. If this is not done, then no options will be sent to the service. Classes like SmartMover will work, however, MatchUp, which requires the matchcode to be set, will throw an error.
* Select the output fields that you desire to be written through “Set Output Columns”. All will be returned by default.
* Select output file, delimiter, and text qualifier.
* When enough steps are done, then the Run button will enable. The GUI has been configured so that some steps are required (the ones suffixed with an asterisk within the Progress pane), but others are not.
* When enough steps are done, then the Run button and Reporting Pane will enable. The GUI has been configured so that some steps are required (the ones suffixed with an asterisk within the Progress pane), but others are not.
* Enable/disable reporting. This will create an html report containing a summary of the results from the run with the information in this pane at the head of the page. Note that you are required to have the "Reporting" folder in the same directory as the executable, and in that folder must be "ReportTemplate.html", "ValidDescriptions.cfg", and "ValidFilters.cfg".
* When run is selected, records are then sent to the web service class to be processed. The GUI does not care how this is done. The only thing it cares about is sending and receiving records, therefore you may process the records in whatever way you wish.
* When the records are processed, they are returned by the web service class to the GUI, and then written to the output file.
......@@ -122,4 +141,5 @@ All services must extend IWS.cs and integrate the following properties:
- - - -
## To Do List
* Make it look pretty
\ No newline at end of file
* Improve column selection interface
* Improve GUI
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment