This topic describes various methods to locate an entry dialog box in the configuration files, so you can open the file and modify the dialog box.
The GN4 entry dialog boxes do not have a visible unique identifier or number. Moreover, many of dialog boxes have the same or similar names and fields, or use pre-translated strings in the XAML code. This makes quite difficult to find a dialog box by searching the configuration files for its fields or title bar content.
In this topic, we assume that on the screen you saw the entry dialog box you want to modify. So, you know what the dialog box does, which content type if affects, in which application/module you displayed it, which fields the dialog contains, and in which order.
The standard entry dialogs have objectUI names that frequently depict what they do. For example, the names of most of the dialog boxes that create something, start with new, while the names of the dialog boxes that edit something, start with edit. The names of dialog boxes used in send to folder operation, start with send. What the dialog box does?
What the dialog box affects? Moreover, the objectUI names of the standard entry dialogs frequently reflect the affected content type. For example, the names of most of the dialog boxes that affect articles contain word article. The same applies on audio, video, image, img, document, category, datasrc etc. Where the dialog box appears? The files where you can find objectUI definitions are grouped by applications.
|
To list all XAML based entry dialog boxes in all configuration files, assuming you have a copy of the configuration files stored on your local drive, or an accessible shared drive: 1.Run Visual Studio Express on your local computer. 2.On the Edit menu, point to Find and Replace and then click Find in Files. 3.On the Look in field, click the browse button [...]. 4.On the Choose Search Folders dialog box, in the Folder set, if empty, enter config. 5.On Available folders, navigate to the root of your GN4 system folder, i.e. where you store the GN4 applications. If in doubt, see the note below. 6.In the left pane, click to select the config folder, and then click the [>] button to make appear the config folder path in the Selected folders list. 7.The Choose Search folders dialog box will now look like the following one: Note: If your system contains only one GN4 version, the root may be C:\TERA\GN4. If there are more versions, then it may look like as C:\TERA\GN4\REL20 or C:\TERA\GN4\MAIN or something similar. 8.Click OK. 9.On the Find and Replace dialog box, in Find what, enter <ObjectUI name=. 10.On the Look in field, select config. 11.Make sure that Include sub folders is ticked and that Find options and Result options are all unticked. 12.Click Find All: the Find Results pane shows the list of all found items. 13.To open one or more of those for editing, double-click its line on the Find Results pane: the files opens in the code editing pane, with the cursor in the first line of the objectUI. Note The above procedure will skip the objectUIs whose definitions start as: <objectUI name="newExtractDest" where then "name" property is in its own line. To locate such definitions, in the Find what box, enter <objectUI\r?$ and tick Use Regular expressions under Find options. |
Entry dialog boxes are defined within ObjectUI section in XXX_CONFIG.XML files, where XXX can be Fred4, Ted4, Shell4, Edadmin4 or Admin4.
For each entry dialog box, there's one ObjectUI section in the ObjectUIs section.
1.Find which script runs when you click the given menu command, hit a shortcut, or click an icon, as explained in Find which GN4 script runs when you do something. 2.Find the script code in add-ins as explained in Locate scripts through Visual Studio Express search. 3.Find out if the main action is executed within the script body, or the script belongs to a category of scripts where the main action is executed elsewhere - if, so locate the main action. 4.In the script code, look for the NewObjectUIGroupName, if any: this gives you the name of objectUI you have to locate (see more below). If there's none, try to understand to which GN4 object the entry dialog refers. 5.Do one of the following: •If you've located the NewObjectUIGroupName, try to understand to which GN4 object the entry dialog refers, and then proceed to "Locate objectUI by NewObjectUIGroupName value" paragraph. •If you didn't locate the NewObjectUIGroupName, try to understand to which GN4 object the entry dialog refers, and if it's a new or editing operation, and then proceed to "Locate objectUI by object type" paragraph.
|
1.Launch Visual Studio Express add-ins solution, or just Visual Studio Express and then close the start page (if any). 2.Press SHIFT+CTRL+F to display Find in files dialog box, and then, in Find what, enter <ObjectUIGroups>. 3.In Look in, enter the path of the root of your configuration files folders. 4.Select Include sub-folders. 5.Under Find options, clear all options. 6.In Look at these file types, enter *config.XML 7.Click Find all to display results. The Find results will display something like this: Find all "<ObjectUIGroups>", Subfolders, Find Results 1, "Entire Solution", "" C:\tera\GN4\main\config\global\GN4\fred4_Config.xml(1808): <ObjectUIGroups> C:\tera\GN4\main\config\global\GN4\ted4_Config.xml(12014): <ObjectUIGroups> Matching lines: 2 Matching files: 2 Total files searched: 106 Double-click the appropriate line to go to that section of configuration. About inheritance If it's a Ted4 dialog box, try first with Ted4_Config.xml, and if you cannot find there the value of NewObjectUIGroupName, try with shell4_Config.xml. If it's a Fred4 dialog box, try first with Fred4_Config.xml, and if you cannot find it, look then in Ted4_Config.xml and in shell4_Config.xml. About the <ObjectUIGroups> block A found block may look like this one: Here, look at the ObjectUIGroup names to try to understand which one regards your case. The standard two ones are New and Edit, and other are additional groups. When you've found the one you believe it's the right one, expand it, and then locate the name of the ObjectUI that regards the particular GN4 object type. <ObjectUIGroups> <ObjectUIGroup Name="New"> <ObjectUI Name="NewCollection" ObjectTypeName="archive"/> <ObjectUI Name="NewArticle" ObjectTypeName="article"/> <ObjectUI Name="NewAudioCaption" ObjectTypeName="audioCaption"/> <ObjectUI Name="NewBody" ObjectTypeName="body"/> <ObjectUI Name="newClientSpec" ObjectTypeName="clientSpec"/> <ObjectUI Name="NewFolder" ObjectTypeName="folder"/> <ObjectUI Name="NewHead" ObjectTypeName="head"/> <ObjectUI Name="NewPhotoCaption" ObjectTypeName="photoCaption"/> <ObjectUI Name="newPubDest" ObjectTypeName="pubDest"/> <ObjectUI Name="NewTxt" ObjectTypeName="txt"/> <ObjectUI Name="NewUrl" ObjectTypeName="url"/> <ObjectUI Name="NewUrlCaption" ObjectTypeName="urlCaption"/> <ObjectUI Name="NewVideoCaption" ObjectTypeName="videoCaption"/> </ObjectUIGroup> Now, search for <ObjectUI Name="NewArticle", and expand it: the list of attributes is displayed. |