How to diff universes using Universe Documenter

I have added a new feature to the tool Universe Documenter which allows to find differences between universes. I will describe on an example.

Let’s open Island Resorts Marketing universe and make some changes: remove table Age_group and object Age group, and save the universe with a different name.
Universe Documenter - Diff Example - Universe

Now we will start the tool, open the modified and original universes, select the option Diff in Post processing, and click Quick View.
Universe Documenter - Diff Example - Dialog

In the Excel spreadsheet, you will see the information from both universes with the differences marked in yellow.

If you built the Excel for two universes one of which is the copy of another, there should be two rows for each object (condition, join etc) with the same values. If universes are different, e.g. there is additional object in one of them, there will be a corresponding row for this object in the Excel which does not have corresponding row from the other universe and such this row will be marked.

We removed table and therefore we removed corresponding join. This is shown in the Excel spreadsheet:

Universe Documenter - Diff Example - Result

If for example an object was changed in the copy, e.g. the name or type were changed then both corresponding rows are marked. You can further sort rows in Excel to find what exactly changed.

13 thoughts on “How to diff universes using Universe Documenter

  1. Rajesh

    I tried to compare two universes I have and when I did that the process hangs at 99%. Am I missing anything here ? ( BOBJ R 3.1, MS offc 2007 ). Thanks for sharing.

    Like

    Reply
  2. Elisabeth

    I experience the same problem. Have unticked quite a few things to reduce impact, and it goes quite quickly to 99%, and then it hangs. BOXI 3.1 FP 3.5, MS Office 2010.

    Like

    Reply
      1. Elisabeth

        I have now tried it again, and I get it to work when unticking everything except eg Tables or Columns, but when comparing Objects (which would be the most useful), I get an Unhandled Exception error message because it is out of memory. Any ideas? I tried to run it both locally and on one of our Citrix server for more memory.

        Like

      2. Elisabeth

        Also, I don’t think the “Hide having same value” is working, or I don’t understand how it should work.

        Like

      3. Maxim Fomenko

        Agree, behavior looks pretty weird. To my understanding only yellow lines should remain in report xslx file. But I can see much more… Stopped using this option.

        Like

  3. Tommy

    I have no problem getting the application to document the whole universe for me. However, when I try to use the “Diff” function something goes wrong. The timeline goes past 99% and disappears, however, instead of generating an excel file with the differences it just hangs and I get the following error message.

    Do you see anything I can do different to get this to work?

    ———

    Microsoft.NET Framework – Un-handled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately. Exception of type “System.OutOfmemoryException” was thrown.

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

    ************** Exception Text **************
    System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown.
    at System.String.Concat(String str0, String str1)
    at OfficeOpenXml.ExcelCellBase.GetAddress(Int32 Row, Int32 Column, Boolean Absolute)
    at OfficeOpenXml.ExcelRange.get_Item(Int32 Row, Int32 Col)
    at UnvDoc.MainForm.MarkDifferentRows(ExcelWorkbook workbook) in C:\Users\dbu\Documents\Visual Studio 2010\Projects\UnvDoc\UnvDoc\MainForm.cs:line 578
    at UnvDoc.MainForm.SaveToExcelFile(String fileName) in C:\Users\dbu\Documents\Visual Studio 2010\Projects\UnvDoc\UnvDoc\MainForm.cs:line 397
    at UnvDoc.MainForm.buttonSave_Click(Object sender, EventArgs e) in C:\Users\dbu\Documents\Visual Studio 2010\Projects\UnvDoc\UnvDoc\MainForm.cs:line 186
    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)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    UnvDoc
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Temp/Universe%20Documenter%20BO%20XI%203.1/UnvDoc.exe
    —————————————-
    System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5468 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    Interop.Designer
    Assembly Version: 12.0.0.0
    Win32 Version: 12.0.0.0
    CodeBase: file:///C:/Temp/Universe%20Documenter%20BO%20XI%203.1/Interop.Designer.DLL
    —————————————-
    System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    —————————————-
    EPPlus
    Assembly Version: 3.1.2.0
    Win32 Version: 3.1.2.0
    CodeBase: file:///C:/Temp/Universe%20Documenter%20BO%20XI%203.1/EPPlus.DLL
    —————————————-
    WindowsBase
    Assembly Version: 3.0.0.0
    Win32 Version: 3.0.6920.5448 built by: Win7SP1GDR
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/WindowsBase/3.0.0.0__31bf3856ad364e35/WindowsBase.dll
    —————————————-
    CustomMarshalers
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_32/CustomMarshalers/2.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll
    —————————————-
    System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.5420 built by: Win7SP1
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    Like

    Reply
    1. dmytro Post author

      I do not have quick solution for this. The tool’s architecture must be redesigned. This work is in (slow) progress.

      Like

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s