This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    exchange:reporting:reporting_project [2010/03/06 05:46] ben  | 
                
                    exchange:reporting:reporting_project [2010/04/28 05:29] (current) ben  | 
            ||
|---|---|---|---|
| Line 18: | Line 18: | ||
| Most important next step is cleanup of code and organizing it so it's easy for someone else to use. Blech. | Most important next step is cleanup of code and organizing it so it's easy for someone else to use. Blech. | ||
| - | + | ====== The Setup ====== | |
| - | ====== The works ====== | + | |
| ===== Database ===== | ===== Database ===== | ||
| Line 80: | Line 79: | ||
| File transfer assumes Central users mount on SSHd enabled system. | File transfer assumes Central users mount on SSHd enabled system. | ||
| - | exchange/batch/[[transfer.sh]] initiates recursive SSH copy job of users\b\ben\exchange\* with public-key authentication. | + | exchange/batch/transfer.sh initiates recursive SSH copy job of users\b\ben\exchange\* with public-key authentication. | 
| Files are copied to exchange/txt. | Files are copied to exchange/txt. | ||
| - | |||
| ===== Parse and Prepare data fields ===== | ===== Parse and Prepare data fields ===== | ||
| Once the file transfer is complete, batch processing is initiated via runExchangeReporting.sh in the root of the exchange directory.  The job runs each of the script files in the exchange/batch directory. | Once the file transfer is complete, batch processing is initiated via runExchangeReporting.sh in the root of the exchange directory.  The job runs each of the script files in the exchange/batch directory. | ||
| - | **[[exchange:reporting:initial_batch_scripts|Initial Bash Script Code]]** | + | This process is being moved to Perl. Here's the [[exchange:reporting:initial_batch_scripts|old/initial bash script code]]- a total mess, functional to a degree, but impossible to maintain. | 
| - | This process is being moved to Perl. | + | Top-level script: [[runExchangeReporting.sh]] | 
| - | Script files at this point: | + | |^Script  |^Description | | 
| - | <code> | + | |parse_allExchange.pl  ||dname,cname,displayName,legacyExchangeDN  | | 
| - | load_db.sh* | + | |parse_allExchange_uni.pl  ||a test of unicode format  | | 
| - | parse_allExchange.pl* | + | |parse_bes.pl  ||set bes to '1' where legacyDN=  | | 
| - | parse_allExchange_uni.pl* | + | |parse_disabled.pl  ||set disabled to '1' where DN= | | 
| - | parse_bes.pl* | + | |parse_id.pl  ||set logon ID where DN= | | 
| - | parse_disabled.pl* | + | |parse_lastExchangeLogon.pl || | | 
| - | parse_id.pl* | + | |parse_lastLogon.pl  || | | 
| - | parse_lastExchangeLogon.pl* | + | |parse_mailboxes.pl  || | | 
| - | parse_lastLogon.pl* | + | |parse_ou.pl  || | | 
| - | parse_mailboxes.pl* | + | |parse_quota.pl  || | | 
| - | parse_ou.pl* | + | |parse_samid.pl  || | | 
| - | parse_quota.pl* | + | |sort_files.pl  || | | 
| - | parse_samid.pl* | + | |unicode.pl  || | | 
| - | prepare_db.sh* | + | |
| - | sort_files.pl* | + | |
| - | transfer.sh* | + | |
| - | unicode.pl* | + | |
| - | </code> | + | ===== Database Refresh ===== | 
| - | Top-level script: [[runExchangeReporting.sh]] | + | Database refresh consists of two scripts: | 
| - | |^Script  |^Output File |^Description | | + | prepare_db.sh: This script drops the exchange_info table, and then re-creates it. | 
| - | |[[load_db.sh]]||all_exchange.txt  ||Name information for all Exchange users | | + | |
| - | |[[parse_allExchange.pl]]  ||id_exchange.txt  ||UPN/logon ID for all Exchange users | | + | |
| - | |[[parse_allExchange_uni.pl]]  ||samid_exchange.txt  ||SAM ID for all Exchange users | | + | |
| - | |[[parse_bes.pl]] ||disabled_exchange.txt  ||All Exchange users with disabled AD account  | | + | |
| - | |[[parse_disabled.pl]]  || lastlogon_exchange.txt ||Last AD logon time (64-bit 100ns since 1/1/1601 format) | | + | |
| - | |[[parse_id.pl]]||all_exchange_mdb.txt  ||Home Mailbox Database for all Exchange users | | + | |
| - | |[[parse_lastExchangeLogon.pl]] ||specified on command line, mailbox_sizes.txt || Size&Server info for all Exchange users | | + | |
| - | |[[parse_lastLogon.pl]] || std_out, should pipe to besusers.txt || Server is hardcoded right now, need to fix this one up || | + | |
| - | |[[parse_mailboxes.pl]]  ||- ||Kicks off all the other scripts  | | + | |
| - | |[[parse_ou.pl]]  ||- ||Kicks off all the other scripts  | | + | |
| - | |[[parse_quota.pl]]  ||- ||Kicks off all the other scripts  | | + | |
| - | |[[parse_samid.pl]]  ||- ||Kicks off all the other scripts  | | + | |
| - | |[[prepare_db.sh]] ||- ||Kicks off all the other scripts  | | + | |
| - | |[[sort_files.pl]]  ||- ||Kicks off all the other scripts  | | + | |
| - | |[[transfer.sh]] ||- ||Kicks off all the other scripts  | | + | |
| - | |[[unicode.pl]]  ||- ||Kicks off all the other scripts  | | + | |
| + | load_db.sh: This script runs executes all of the batch_sql/*.sql scripts in mysql5, thereby importing all of the data. | ||
| + | ====== Useful Database Queries ====== | ||
| - | ===== Database Refresh ===== | + | Some very useful reporting queries are on the **[[exchange:reporting_project:database_queries|Useful Queries]]** page. | 
| + | ====== OpenRPT Notes ====== | ||
| + | To allow OpenRPT to save reports to the database: | ||
| + | <code> | ||
| + | create table report ( report_id serial primary key, report_name text, report_descrip text, report_grade integer not null, report_source text ); | ||
| + | </code> | ||
| - | Database refresh consists of two scripts: | + | Also need to check out: | 
| - | **prepare_db.sh**: This script drops the exchange_info table, and then re-creates it. | + | http://www.eclipse.org/birt/phoenix/intro/ | 
| - | **load_db.sh**: This script runs executes all of the batch_sql/*.sql scripts in mysql5, thereby importing all of the data. | + | http://oreports.com/ | 
| - | ===== Useful Database Queries ===== | + | http://www.pentaho.com/ | 
| + | |||
| + | http://www.jaspersoft.com/ - http://jasperforge.org/ | ||
| + | |||
| + | Setup for datavision - copy mysql connector J .jar file into lib directory, setup connection like: | ||
| + | |||
| + | {{:exchange:reporting:datavision_connection_info.png|}} | ||
| - | Some very useful reporting queries are on the **[[exchange:reporting_project:database_queries|Useful Queries]]** page. | ||