Beyond the tools: reporting, integration, and automation

Sometimes we refer to scanEZ as a kind of ultra-charged Notes property box. But that is really only the beginning when in comes to functionality. Thorough documentation and reporting are essential aspects of your work, especially if you have to dig deep into databases and work with elements that can make or break an application. 

The majority of the data you uncover in scanEZ is available for easy export to a variety of formats. And like the rest of our EZ Suite tools, scanEZ offers tight integration both between the other tools in the suite and your native clients. Also Ytria's ever-expanding automation language lets you expand the powerful functionality to large-scale operations.

Learn about scanEZ's essential extras: from quick reporting, to integration with your environment, to Ytria’s adaptive API.

Easily report your data

Easily report your data

Export data quickly and directly from any scanEZ grid. Create reports in HTML, Excel, XML, and CSV, or simply copy/paste your data from the grid.

Integrate your workflow across EZ Suite tools and your native clients

Integrate your workflow across EZ Suite tools and your native clients

Leverage built-in bridges between scanEZ and other EZ Suite products, as well as your native Designer client.

Expand your tasks through powerful automation functions

Expand your tasks through powerful automation functions

Extend scanEZ's scope through your own scripts that let you repeat functions across an even larger scale. You can even use the command line integration to create push-button, multi-step process launchers.

Easy Reporting

Easily report your data

As if the ability to really look under the hood of your databases wasn't enough, we make sure that you can report on everything you find. Exporting your data into a full report is always as easy as a copy/paste. 

Produce detailed reports in multiple formats.

Ranging from straightforward copy/paste actions directly from the grid into a spreadsheet, to exports using one of the many output options mentioned above, scanEZ makes your reporting an adaptable experience.

xlsx

Excel files

csv

CSV

html

HTML

xml

XML

 

Full Integration: Notes, Domino, and EZ Suite

Integrate your workflow across EZ Suite tools and your native clients

Keep your workflow advancing and benefit from some great feature bridges between scanEZ and other EZ Suite products to utilize their specific powers and expand the scope of your operations.

Bridge to scanEZ from other Ytria products directly to save time and make use of specific EZ Suite functionality.

Quick launch scanEZ

Launch scanEZ in one click from the Ytria toolbar, or from the Eclipse widget, to instantly the entire contents of your Notes databases.

Bridge to other EZ Suite tools instantly

Jump into scanEZ from other Ytria tools to deep-dive into documents, apply scanEZ tasks to multiple databases, open your current database in any EZ Suite tool, and more

Extensive Automation

Expand your tasks through powerful automation functions

scanEZ gives you unmatched insight into a database's inner details such as documents and designs, even down to the item level.

But although scanEZ was originally designed to work on only one database at a time, the powerful automation capabilities will let you extend this same deep functionality across multiple databases on multiple servers.

What's more, the new Automation Recorder lets you record flexYgrid actions to files that can either be replayed as is, or used as a great starting script to build upon and use across multiple servers. 

Create macros, and automate tasks from the routine to the complex through the Ytria API.

Create new items on multiple databases, across multiple servers.

Find and report documents that match a given formula across a selection of databases.

Find and report on multiple different types of profile documents across multiple databases.

Extend scanEZ functionality to a large-scale with the powerful Ytria automation API.


Script

Find all documents that match a given formula in a database and export the findings into an Excel file.

This script can be used by itself in scanEZ to process an opened database, or launched on a selection of databases in databaseEZ.


<?xml version="1.0" encoding="UTF-8"?>
<ytriaAutomation Application="scanEZ" ApplicationVersion="16.5" Version="1.0">
<if target="var" test="{%ListSize%}" mode="NotEquals" Value="">
     <ExecuteListAction/>
</if>
<!--The following three lines let you specify the name and value of the item to be added, 
as well as the document category whose documents the item will be deployed to.
Simply enter your desired values where indicated.-->
<SetVar ItemToAdd="Enter your value here"/>
<SetVar ItemValue="Enter your value here"/>
<SetVar DocumentCategory="Enter your value here"/>
<!--The following Expand/Focus sequence will allow the focus to be placed on the documents
within the selection tree category specified.-->
<Expand target="tree" category="Documents" type="{%DocumentCategory%}"/>
<focus target="tree" category="Documents" type="{%DocumentCategory%}"/>
<!--The CreateItem script block is where we define the item to be added. If the item already
exists, it will not create a new one, instead it will skip the document and move on to the
next. In this particular case, the item added will be a Text item that will use the name
and value defined in the beginning of the script.-->
<CreateItem OnExisting="skip">
	<SetParam field="TypeList" value="Text"/>
	<SetParam field="FieldName" value="{%ItemToAdd%}"/>
	<SetParam field="FieldValue" value="{%ItemValue%}"/>
	<SetParam field="IsProtected" value="true"/>
</CreateItem>
</ytriaAutomation>

Script

Find multiple different types of profile documents and create reports of each different type found.

This script can be used by itself in scanEZ to process an opened database, or launched on a selection of databases in databaseEZ.


<ytriaAutomation Application="scanEZ" ApplicationVersion="16.5">
	<!--This will set the script's behavior when encountering an error. In this case, it will continue.-->
	<onerror continue="true"/>
	
	<if target="var" test="{%ListSize%}" mode="NotEquals" Value="">
		<!--This will allow the script to run if called from databaseEZ by using the option 'Execute Automation File On...'-->
		<ExecuteListAction/>
	</if>
	<!--The script uses Loop and List actions. The Loop itself can be modified to fit your needs.-->
	<!--TO SET: these variables define the profiles you are looking for. 
		You may change the values to suit your needs and even add in more lines to the list keeping the format shown.
		Note: Personal profile documents are arranged in a level further down in scanEZ's selection tree and must
		be selected in a different way.-->
	<List name="allProfileName" Action="SetVar" vProfileName="archive profile"/>
	<List name="allProfileName" Action="SetVar" vProfileName="default for expired"/>
	<List name="allProfileName" Action="SetVar" vProfileName="default for last modified"/>
	<!--This line will expand the Profile Documents section of the selection tree.-->
	<Expand target="tree" Category="Profile Documents"/>
	<!--Beginning here, the rest of the script is the Loop setup. 
		All actions within this Loop section will be carried out in turn on all the lines in the List section (above)
		that use the specified name. The Loop is set to call on the List name "allProfileName".-->
	<Loop list="allProfileName" OnError="Next">
		
		<!--This next action is mandatory in order for the action within the List lines referenced to be carried out.
			In the case of the lines in the List "allProfileName", the SetVar action is to be executed.-->
		<ExecuteListAction/>
		<!--Then, everything in the tree will be deselected.-->
		<UnSelect Target="tree" name="All"/>
		
		<!--This will place the focus on the Profile Documents category so that the SelectByRegex action can be used 
			on the first-level entries within.-->
		<Focus Target="Tree" Category="Profile Documents"/>
		
		<!--The following line will enact a regex search on the first-level profile documents to find any profile 
			documents that contain the name provided.-->
		<SelectByRegex Regex="{%vProfileName%}"/>
		
		<!--As stated early on in this script, Personal Profile documents are arranged at a deeper level in the
			selection tree. If you want to be able to search through both of these levels at the same time to find
			both the first level profile documents and personal profile documents with this name use this line in place
			of the regex search above <Select Target="Tree" Category="Profile Documents" Type="{%vProfileName%}"/> -->
		
		<!--This will create a new My Selection folder containing the found documents. 
			By doing this the displayed titles can be set to your desired form (titles cannot be set within the
			Profile Documents category).-->
		<MySelection>
			<Setparam Field="MySelectionName" Value="Selection of {%vProfileName%}"/>
			<Setparam Field="TitleOptionType" Value="Formula"/>
			<Setparam Field="TitleOptionFormula" Value="@Implode(@DbName;&quot;!!&quot;)"/>	
		</MySelection>
		<!--Then the focus is placed on the newly created My Selection folder.-->
		<Focus Target="Tree" Category="Selection of {%vProfileName%}"/>
		
		<!--The following If condition declares that if the My Selection does exist,
			(meaning that something has been found) the nested child actions will be enacted.-->
		<if Target="Tree" Test="FocusRoot" Mode="NotEquals" Value="True">
			
			<!--A Values function is carried out on the focused My Selection folder.-->
			<Values>
				
				<!--All items within the Values grid are selected.-->
				<SetParam Target="SelectDocumentItems" Field="All" value="true"/>
				
				<!--And finally all the findings are exported to an Excel file; the results for each profile name 
					will be placed on its own sheet within the file. The file will be saved in the same location 
					as the this Automation file.-->
				<Export>
					<SetParam field="FilePath" value="archivereport.xlsx"/>
					<SetParam field="SelectedRowsOnly" value="false"/>
					<SetParam field="ExportType" value="Excel"/>
					<SetParam field="Mode" value="AppendRows"/>
					<SetParam field="ExcelSheetName" value="{%vProfileName%}"/>
					<SetParam field="OpenFileOnceGenerated" value="False"/>
				</Export>
			</Values>
			
		</if>
		
	</Loop>
</ytriaAutomation>