NodeXL Network Server Frequently Asked Questions
The NodeXL team has released a new version (v.1.0.1.126) with better support for collecting data from social media network sources, starting with Twitter. The NodeXL Network Server program now ships in every NodeXL installation. Tony, the lead developer on the team, created the following FAQ to explain how to use the collector application.
This document describes how the NodeXL Network Server works.
- What is the NodeXL Network Server?
It’s a Windows command-line program that downloads a network from Twitter and stores the network on disk in several file formats. It can be run directly from a command line, but is typically scheduled to run on a periodic basis via the Task Scheduler that is built into Windows.
- Where can the files be found?
The files are in NodeXL’s program folder. To find out where the folder is, right-click the Microsoft NodeXL, Excel 2007 Template menu item in the Windows Start menu, then select Properties. On 32-bit English computers, the folder is “C:\Program Files\Microsoft Research\Microsoft NodeXL Excel Template.”
- Who are its intended users?
The Server is meant for use by people with moderate system administration skills. It is not difficult to use, but it is not intended for the same audience as the NodeXL Excel Template, where ease of use is of high priority.
- How do you run the Server from the Windows command line?
Like this:
NodeXLNetworkServer.exe NetworkConfiguration.xml
The program takes a single argument, which is the path to a configuration file that specifies which network should be downloaded and how the network should be saved to disk. A particular configuration file might specify “Get the Twitter search network for people whose tweets contain ‘Sociology,’ add an edge for each ‘mentions’ relationship, limit to 100 people, include tweets, include statistics, and store the network as a GraphML file in the C:\NodeXLNetworks folder.”
The program immediately gets the requested network, saves it to disk, and exits. On its own, it does not run on a periodic basis.
- How do I create a configuration file?
You create a configuration file by copying a provided template file and editing the copy in Notepad. The template file is named SampleNetworkConfiguration.xml and is stored in the same folder as the program. The file is in XML format and the XML tags are clearly named and documented.
- In what file formats can be the network be saved to disk?
You can save the network to either GraphML, which can be imported into a NodeXL workbook; directly to a NodeXL workbook; or both.
- Do you typically run the program from the command line?
No. Instead, you typically run it as a scheduled task via a built-in Windows program called Task Scheduler
Task Scheduler is a powerful utility that lets your run any program, including NodeXL Network Server, on a periodic basis. You can, for example, tell Task Scheduler to run NodeXL Network Server using a particular network configuration file every twelve hours starting June 1, 2010 and ending June 30, 2010; or once a week starting now and continuing forever. The scheduling options are endless.
- Why not just include scheduling features in the NodeXL Network Server?
For two reasons. First, Task Scheduler’s extensive scheduling options would be difficult to duplicate. Second, if NodeXL Network Server had to download a network on a periodic basis, it would have to run as a Windows service, and Windows services are more complex to implement and to use than a simple command-line program.
- How are the network files named?
Scheduling the NodeXL Network Server to run periodically can create any number of network files in the specified directory, so a file-naming scheme is needed. The file name format is
{NetworkConfigFileName}_{Date}_{Time}.{Extension}.
So the above example, in which NetworkConfiguration.xml specifies that networks are to be saved as GraphML, might create a set of network files that look like this:
NetworkConfiguration_2010-06-01_02-00-00.graphml NetworkConfiguration_2010-06-01_14-00-00. graphml NetworkConfiguration_2010-06-02_02-00-00. graphml …
- What happens if the computer is not turned on at the scheduled time?
By default, the task won’t be performed until the next scheduled time when the computer is turned on. However, if the computer is sleeping, you can tell Task Scheduler to wake it at the scheduled time to run the task.
- What happens if the NodeXL Network Server encounters an error?
If the error prevents the network from being downloaded, the NodeXL Network Server creates an error file instead of a network file. The file name starts with “Error” to make it easy to spot:
Error_NetworkConfiguration_2010-06-02_14-00-00.txt
The error file contains the details of what went wrong.
If one or more errors block part of the network but other parts of the network are successfully downloaded, then the NodeXL Network Server creates the network file containing the partial network, along with a text file that explains how many errors occurred. The text file name starts with “PartialNetworkInfo” to make it easy to spot:
NetworkConfiguration_2010-06-02_14-00-00.Graphml PartialNetworkInfo_NetworkConfiguration_Date.txt
- What if I want to periodically download more than one network?
Simply schedule more than one task, each using a different network configuration file. The tasks are independent of one another and can be scheduled to run at different times.