AOTVersionControl

From Axaptapedia

Jump to: navigation, search

AOTVersionControl is a tool which integrates VSS and AOT

download (20k)

History window
History window
Winmerge runned from AOT Version Control
Winmerge runned from AOT Version Control

Contents

[edit] Features

  • store XPO of selected AOT item in VSS
  • allows to view history of changes (checkins)
  • can be integrated with diff tools (such as WinMerge) to view changes

[edit] Prerequesits

[edit] Installation

[edit] Configuration

  • Right click on the any AOT item
  • select Add-Ins \ Version control \ Parameters
  • insert a record (record with the empty user name are default paramaters for each user)
  • set the following fields:
    • clear user names values
    • path to database (for example \\AXAPTA\vss$\srcsafe.ini)
    • VSS project (for example Axapta\Application - is's the path to the existing project on the VSS)
  • insert another record (your personal settings)
  • set the following fields:
    • working folder - path to the existing folder where XPOs will be exported to (for example ะก:\axapta\myApplication)
    • user name - your user name in the VSS
    • password - your password in the VSS
    • path top diff - path to the diff tool you ae using (for example C:\Program Files\WinMerge\WinMergeU.exe)
    • save this record

[edit] Usage

[edit] Import your existing AOT items

  • run VCS_ImportLayer from AOT
  • change layer to the value you want to import (usr for example)
  • write comment ("initial import", for example)
  • press OK
  • wait

[edit] other

All standard actions are under Add-Ins \ Version control submenu of the contect menu of AOT items.

All actions do the following:

  • find a set of exportable AOT items (for example if you are checking in a method, it will check in the class; if you check in Classes node of your project it will check in all classes; and if you check in a project it will check in project structure and all its contents if recursive checkbox is set)
  • perform the action

[edit] TODO

[edit] Use Axapta compare tool instead of external diff

Example job:

static void Test_Compare(Args _args)
{
    #AotExport
    #File
    TreeNode                        treeNodeImport  = NULL;
    int                             exportId;
    int                             flag            = (#impGetCompareNode +  #impKeepIds);
    SysCompare compare=new SysCompare();
    SysContextMenuAotImportDialog context;
    SysCompareItem                  sysCompareItem  = new SysCompareItem();
    str fileName=@'D:\0\WW_ProjectListForm.xpo';
 
    int getFilePositionOfTheFirstElement(str _fileName)
    {
        AsciiIO io=new AsciiIO(fileName, 'r');
    ;
        io.inFieldDelimiter(#delimiterEnter);
        io.inRecordDelimiter(#expEndRecord);
        io.read();
        return (io.status() == IO_Status::Ok) ? (io.filePosition() - strLen(#expEndRecord)): 0;
    }
;
 
    exportId        = infolog.startImport(fileName, flag);
    treeNodeImport  = infolog.getImportedNode(exportId, 
        UtilFileType::Application, 
        UtilElementType::Form, 
        'WW_ProjectListForm', getFilePositionOfTheFirstElement(fileName) , flag);
    infolog.endImport(exportId, 1);
    sysCompareItem.treeNode1(TreeNode::findNode(@'\Forms\WW_ProjectListForm'));
    context=new SysContextMenuAotImportDialog(sysCompareItem, treeNodeImport);
    compare.init(context);
}
Personal tools