Coder Social home page Coder Social logo

dms-viewer's People

Contributors

cfazzini avatar githubmarker avatar tslater2006 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dms-viewer's Issues

crash when double-clicking spreadsheet divider between rows

steps to reproduce:

  1. open dat file
  2. click view data
  3. on spreadsheet, click divider at the bottom of rows (or alternately, if you have more than 1 row, drag row 1 height to be large, double-click divider between row 1 and 2)

See the

end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

*********** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewCellCollection.get_Item(Int32 index)
   at DMS_Viewer.DataViewer.dataGridView1_CellDoubleClick(Object sender, DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnCellDoubleClick(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtrlparam)```

02

enhancement: modify spreadsheet copy/paste to contain LONG type data in a single cell

steps to reproduce:

  1. open .dat file
  2. select record which has at least one row of data and at least column with type LONG
  3. click "view data" button
  4. select all
  5. copy
  6. open microsoft excel
  7. paste

expected results:

  • displayed contents of excel spreadsheet match displayed contents of Data Mover spreadsheet cell-for-cell

actual results:

  • excel paste of spreadsheet contents splits LONG data into multiple rows of data and causes non-multi-row data to merge multiple cells to compensate

This makes further copy/pasting/spreadsheet comparison difficult since the for the LONG field is no longer contained in a single cell.

suggested label: enhancement

crash when clicking whitespace within records box then view data button

Seems like the cursor defaults to the first record in the list by default (but doesn't highlight it to indicate that).

If you click the white part of the inside of the "records" box but don't succeed in highlighting an actual record row, then clicking "view data" will cause an error.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'index'.
Parameter name: index
   at System.Windows.Forms.ListView.SelectedListViewItemCollection.get_Item(Int32 index)
   at DMS_Viewer.Form1.dataViewer_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

01

some possible behaviors that can mitigate this:

  • highlight the default record

  • clicking the white space should highlight the default record

  • clicking the whitespace to the right of a record should highlight the record even when it's not really close by

  • clicking whitespace can deselect all records but view data button should take no action

enhancement: remember chosen directory when rebuilding DMS or generating sql

Both the following navigations present the user with the ability to write a text file to a directory:

  • Tools > Generate SQL
  • Tools > Rebuild Script

However, both of them fail to remember the user's selected directory when the same menu option is chosen a second time, or when the user switches between Generate SQL and Rebuild Script options.

enhancement request:

  • remember chosen directory for current session (probably useful to persist between .dat files) when rebuilding DMS or generating sql

suggested label: enhancement

enhancement: comparedb requires more clicks than necessary

When using the Compare DB feature, it prompts on every record in the list.

It asks again and again whether the same db connection should be reused.

I think the default assumption should be yes.
Perhaps it could ask once for confirmation when you change .dat files?

I'm trying to figure out why the current work flow is as it is.
I'm guessing perhaps it's to accommodate the use case where one is trying to compare one dat file to multiple databases?

That seems worth of handling, but also a seems like it wouldn't be the most common use case.

I think the most common use case is to compare all the records in a .dat file using a single database connection.
That, IMO, more common use case would be better served by defaulting to re-use the connection for the current .dat file.

Going back to the typical presumed used case, comparing all records in a .dat file to a database...

It might be useful to automatically compare all records to DB upon clicking the compare to db button. That could potentially reduce the number of prompts and still prompt people to switch databases each time they click the button.

If we are trying to protect users from comparing a large amount of data by accident, perhaps a different button "compare all records to db" could exist.

suggested label: enhancement

enhancement: copy record list button should produce cleaner output

"copy record list" button copies text to the clipboard as follows:

ListViewItem: {PSCLOCK}
or

ListViewItem: {PSCLOCK}
ListViewItem: {INSTALLATION}

but it should just copy the actual record name (the part between the curly braces {}).
e.g.
PSCLOCK
or

PSCLOCK
INSTALLATION

suggested label: enhancement

bug: compare to db doesn't change color of record after database's data changes

  1. compare to db when .dat file and database's data don't match
  2. record gets colorized (yellow or green)
  3. run the dms import to actually put the data in the .dat file into the database
  4. compare to db while re-using the existing database connection without disconnecting.

results:

  • compare works, and colorizes spreadsheet properly

  • however, does not update color in record list

e.g. compared as yellow/different prior to import
should compare no color after import
but it's still yellow (even though clicking "view data" shows all columns/rows with no color)

FYI, I tested this prior to the commit for Fixed issue with CLOB compares if the field in the DMS was null., and I'm not sure if that already fixed it.

suggested label: bug

enhancement: show keys on records

The Columns box shows a list of fields on the record, as well as their type, and size.

However, it would be useful to also display the keys on the record.
e.g. key, search key, alternate search key, etc.
At a minimum, even just "key" would be useful.

I'm have no idea this is data already being provided by the DMSLib library or if it would require new code.

image

suggested label: enhancement

enhancement/bug: compare to db connection details lost when user attempts to cancel compare

  1. use "compare to db" and fill in details
  2. select another record, or open another dat file
  3. click compare to db
  4. prompt appears asking user whether to reuse the same connection details

expected behavior:

  • a way to cancel the compare without losing connection details and needing to re-enter them

actual behavior:

  • the only way to stop the compare is to click no, but this also forgets previously entered database connection details, even if no replacement details are supplied

possible solutions:

  • add a cancel button
  • if not replacement connection details are supplied, remember previous details the next time the compare to db button is clicked.

suggested labels: enhancement or possibly bug

enhancement: display name of dat file in header of main window

It would be useful to Include the name of the open dat file (and posssibly its path) in the header of the DMS Viewer application.

FYI, some modification of the text in the header is already taking place when clicking the "compare to db" button, which appears to show the db name in the header.

This would be helpful to keep track of which .dat file is being opened/viewed/compared when the user has multiple .dat files in need of examination.

suggested label: enhancement

enhancement: generated sql should include schema prefix

Looking at the SQL generated from a .DAT file, there is no schema prefix.

Since PeopleSoft uses the SYSADM schema, and there is no way to force a DMS script to import to an alternate schema (my assumption), then that should be the default schema.

This would allow search-and-replace script editing for anyone who wants to insert data into a user's private schema for testing/comparison/preservation of data as compared to the ACTUAL tables in the SYSADM schema.

suggested label: enhancement

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.