diff --git a/docs/doxygen-user/command_line_ingest.dox b/docs/doxygen-user/command_line_ingest.dox index dc61708ee4..c5f77def58 100644 --- a/docs/doxygen-user/command_line_ingest.dox +++ b/docs/doxygen-user/command_line_ingest.dox @@ -37,7 +37,7 @@ The table below shows a summary of the command line operations. You can run one Generate Reports
--generateReports
 
--generateReports
-Create List of Data Sources
--listAllDataSources
&nbps;
--listAllDataSources
+Create List of Data Sources
--listAllDataSources
 
--listAllDataSources
diff --git a/docs/doxygen/modReport.dox b/docs/doxygen/modReport.dox index 6199ce7560..5799314acf 100644 --- a/docs/doxygen/modReport.dox +++ b/docs/doxygen/modReport.dox @@ -58,7 +58,7 @@ As when generating table module reports, Autopsy will iterate through a list of \subsection report_create_module_general Creating a General Report Module -If you implement GeneralReportModule, the overriden methods will be: +If you implement GeneralReportModule, the overridden methods will be: - org.sleuthkit.autopsy.report.GeneralReportModule.generateReport(String reportPath, ReportProgressPanel progressPanel) - org.sleuthkit.autopsy.report.GeneralReportModule.getConfigurationPanel() @@ -125,4 +125,47 @@ Report modules developed using Jython are installed in Autopsy by placing them i directory. A window into the python_modules directory can be opened through the Autopsy's Tools -> Python Plugins menu item. Create a folder in this directory and create or place your Python scripts in this folder. + +\subsection report_create_module_persistence Persisting your Report Module Configuration + +Both Java and Python report modules can have their configurations persisted to disk. In order to do so, the report module must do +two things: +
    +
  1. The report module must have a class that defines the configuration for the module (for example, org.sleuthkit.autopsy.report.modules.html.HTMLReportModuleSettings). This class +must implement the ReportModuleSettings interface. Note that the ReportModuleSettings interface extends Serializable, therefore the report +settings class must contain serialVersionUID variable: + +\code +class HTMLReportModuleSettings implements ReportModuleSettings { + + private static final long serialVersionUID = 1L; + + HTMLReportModuleSettings() { + } + + @Override + public long getVersionNumber() { + return serialVersionUID; + } +} +\endcode + +
  2. The report module implementation class (e.g. ReportHTML) must implement the following methods of the ReportModule interface: +- getDefaultConfiguration() +- getConfiguration() +- setConfiguration(ReportModuleSettings settings) +
+ +The use case scenario for this API when the configuration of a report module is occurring is as follows (using HTMLReport as example): +
    +
  1. User clicks "Generate Reports" button in the Autopsy UI. +
  2. Report Configuration UI attempts to load the persisted reporting configuration from disk. +
  3. For each existing report module, if a persisted ReportModuleSettings (i.e. HTMLReportModuleSettings) configuration exists, Configuration UI calls HTMLReport.setConfiguration() with the persisted settings; Otherwise the Configuration UI calls HTMLReport.getDefaultConfiguration(), then HTMLReport.setConfiguration(). +
  4. Configuration UI calls HTMLReport.getConfigurationPanel(). The report module loads the settings into its configuration panel and returns the panel. +
  5. Configuration UI presents the panel to the user. +
  6. User interacts with the panel to modify the current settings of the report module. +
  7. Configuration UI calls HTMLReport.getConfiguration() and obtains the latest report module configuration. +
  8. Configuration UI persists the module settings. +
+ */