S.E.E.R. (incl. W.A.R.R.I.O.R.) --------------------------------------------------------------------- System and Environment Effective Reports -- version 2, codename: Brahma Bull ________________ `/ \-' '-/ \` \ / (\||/) # --------------------------------------------------------------------- # ... the http / web based front-end of mod_openopc, providing # live HMI / reporting / and history functionality. --------------------------------------------------------------------- --------------------------------------------------------------------- COPYRIGHT THE FOLLOWING 10 LINES MAY NOT BE REMOVED, but may be appended with additional contributor info. S.E.E.R. Copyright (C) 2008, 2009, 2010, 2011 V. Spinelli for Sorrento Lactalis American Group This program comes with ABSOLUTELY NO WARRANTY; As this program is based on [and has dependancies] the content of GPL, AGPL, and LGPL works, GPL is preserved. This is open software, released under GNU Affero GPL (AGPL) v3, and you are welcome to redistribute it, with this tag in tact. ... http://www.sorrentolactalis.com ... http://www.spinellicreations.com --------------------------------------------------------------------- --------------------------------------------------------------------- CONTACT Author V. Spinelli Email: Vince@SpinelliCreations.com Site: http://spinellicreations.com Handle: PoweredByDodgeV8 Copyright Holder Sorrento Lactalis American Group Email: http://www.sorrentocheese.com/about/contact.html Site: http://www.sorrentolactalis.com --------------------------------------------------------------------- --------------------------------------------------------------------- REVISION HISTORY ENTRY NAME V REV NOTES ----- ---- - --- ----- 0 S.E.E.R. 0.0 - 3.x n/a All copies and information lost due to data storage failure and lack of backups (ya, that's what I said). 1 S.E.E.R. 2 4.0 n/a Based wholly on a few principles: - integration with mod_openopc - built for and with: IN PROGRESS apache 2+ php5+ mysql 5+ mod_openopc_2 3+ - the previous S.E.E.R. which took much of its structure and php / sql i/o functionality from existing SpinelliCreations and / or SorrentoLactalis work. Version codename is: Brahma Bull - much an angry reaction to negligence which lead up to the destruction of the first S.E.E.R. - indicates a strong dominance and superiority (with regard to ability of customization and functionality) within the field. - shal be retained through the the 4.x-x series of builds. The idea here is to have an even more generalized skeleton system that is eaiser to deploy than the previous, not that the previous was bad (had we not lost it, we would have never considered rebuilding, but, since we have to anyway, might as well apply what we've learned...) 2 S.E.E.R. 2 4.19 n/a PRE-Release, missing language files and SVN_SNAPSHOT_2010_0524 documentation. Otherwise, complete. 3 S.E.E.R. 2 4.19 1 bugfix for above, SPFMODEL Production SVN_SNAPSHOT_2010_0614 Analysis Report was missing detail rundown for section "Pick up straggler records". 4 S.E.E.R. 2 4.20 n/a cleanup of prerelease... daylight savings time warning is now in bold red instead of page font / color to be more noticeable, temperature charts with black filler (fix for IE fucking up table cell widths with background images having superimposed graphics) changed to white filler (looks better, more like it's not a 'fix' and 'should' be that way), csv's cleaned up to be more like the actual reports themselves. 5 S.E.E.R. 2 4.20 1 cleanup is complete and also added an export age sanity check. In the event a user closes their browser after viewing an export, without first navigating to another page, then the export is orphaned. Orphans are auto-checked for each time subsequent exports are run by any user... if orphans are found and are more than 1 hour old, then they are deleted automagically. 6 S.E.E.R. 2 4.30 n/a authoring of the W.A.R.R.I.O.R. module for Overall Equipment Efficiency, in line with what is detailed by Wikipedia on the topic. -- Workplace Authenticated Resource Runtime Input and Output Report. Determined that the reason the 'heavy analysis' reports (like Tankmodel Occupancy Report) take such a very long time is not anything to do with php's array cycling functionality (as was previously thought to be the limiting factor), but rather with disk-to-memory I/O. For example, you can run a MySQL examine query, which will tell you how long the database takes to determine what you want, put it in the right order, and get ready to actually send you the data... that happens almost instantly (less than 5 seconds on even the most brutal queries) but then if you run the same query from the sql console without the 'explain' flag (thus making it throw all that data up on the terminal screen) it can take 3, 4, 5 or more minutes depending on the query. To further back it up, if you only select one or two fields instead of all columns, the response time scales perfectly... response = (col selected / total cols) * (total col query time) So what's the fix? Really isn't one... it's not broken. To help though (and its helped a lot), went through all of the reports and hmi's and determined exactly what columns are needed for each query, then set to select only those... there are very few "select *" statements left, and those are only where all columns are used. If you want better performance, then you've got to increase the minimum hardware specification. -- key hardware pieces are as follows: -- -- System Memory Size (go up to 64 GB and increase innodb memory size from 18 to 40 in my.conf) -- -- Processor Speed (go up to 4 dual core Santa Ana/Rosa Opterons at 3.2 GHz or two W5590 Xeon at 3.3 GHz. 7 S.E.E.R. 2 4.31 n/a WARRIOR module is complete. I imagine sorrento and LAG IT are going to want a custom schedule updater for WARRIOR to integrate with their new labeling system, which is all fine and well, but that'll come later, the module itself is done. The CheckWeigher Model is also done. syphon was upgraded to include a new subroutine specifically to dump scale data into a mod_openopc database for use with SEER and the CheckWeigher model. -- THIS VERSION SHALL BE A PUBLIC PRE-RELEASE ALSO. 8 S.E.E.R. 2 4.32 n/a ATMOSPHERIC model complete for display and logging of temperature / humidity / atmospheric pressure of a given environmental zone. 9 S.E.E.R. 2 4.33 n/a Training Portal / Documents / etc. stripped from SEER. The ultimate purpose of SEER does not need these items. I felt we were getting out of the scope of the package, and trying to tackle something different. So it's gone as of 4.33 (2010-11-16). 10 S.E.E.R. 2 4.34 n/a apparently MSIE-6 throws a problem at us. The php header instruction 'refresh' is unavailable until MSIE-7, and since we are trying to go as far back as 6 compatability, we will have to re-use the deprecated META REFRESH tags instead of the more elegant and semi-standard php header 'refresh', actually, we'll end up with an option to use either-or-both. added level in percent (display, not plot) and product name to the TANKMODEL REPORT 1 - TEMPERATURE CHART report page. 11 S.E.E.R. 2 4.34 1 added SCHEDULE NUMBER, PACKAGE CLASS, JOB DESCRIPTION, and OPERATOR OR TRADESMAN to the WARRIOR OEE/TEEP report for clarity. 12 S.E.E.R. 2 4.34 2 'no-peeking' subdirectory auto-redirect to primary index used the php header 'refresh' method -- changed to php header 'location' method which is fully standardized across browsers. 13 S.E.E.R. 2 4.34 3 bugfixes for the runaway decimal point in checkweigher report 0, rounding error reduced to 0.01% for standard deviation plots, same done for atmospheric model std dev plots. warrior report 2 uses a header now for indicating user / product / schedule / etc. being run on a line when a group of errors occur, which are displayed based upon duration and the detail level requested by the user. 14 S.E.E.R. 2 4.35 n/a massive consolidation of scripts - pulled all of the HMI and REPORT scripts out, added traffic_cop_option_negotiation to handle it all and direct immediately to the BODY portions. Pulled all of the createdb scripts out and replaced them with mod_openopc_setup_createdb_negotiation to work in conjunction with model advanced_options files. All model actions moved to ./include/core_models so as to keep the frame work separate from the model actions. What is left is to clean up the model actions / scripts themselves and make sure that they pretty print. The outer framework is already checked and assured to pretty print and as far as I can tell it is sound (and now consolidated). 15 S.E.E.R. 2 4.35 1 bugfix for 4.35 - once 'restrict by department' functionality was added, maintenance department members (who we want to view everything, were also restricted... woops!) fixed this by adding declaration to global options file of "what term is used for the name of your maintenance dept". checkweigher model had some tags missing on report 0 (analysis) specifically for taking the percentage of the giveaway/takeaway and putting it next to the mass - the calculation was there but it displayed only on the last record not all records. 16 S.E.E.R. 2 4.36 n/a checkweigher model upgraded to version 2 (codename Leda), and set to include the machine operator in both the live hmi's and the historical reports. note, this required an update to syphon (so as of s.e.e.r. 4.36 - build 16, syphon version 0.1-6 is required). 17 S.E.E.R. 2 4.37 n/a continue the fuctional subroutine port of everything that didn't get pushed in the last cleanup... which means all of the core model stuff. also fixed an issue with table display alignment on the system info page. settings page finally makes some sense, and it functions properly. tons of html formatting cleanup to force 'pretty print' of exported markup to browsers. all forms now proper, and all generated pages validate with the w3c validation checker for html 4.01 transitional. consolidated a lot of model functions into just that - functions, rather than having them repeated in printed code. functions common to multiple models are shared, and all reports / hmi's share common structure, user input methods, and such, lending to a more refined feel. the main improvement is the ability to perform global changes - as roughly 60% of the model codebase is now shared functions. this will also lend itself to ease of adding more models in the future, as the bulk of the work is already done, and you can just call little functions to do what you need. And - FINALLY - stripped the Lactalis branding out of it, and it a GNU Licensed image (the SEER Logo without any proprietary art) for the default image / created a default globaloptions_seer_0 file that does not include any proprietary information. note - this is the first non-subversion (completed, as in 'ready for prime time') public release. ** 4.37 IS IN PROGRESS ** ---------------------------------------------------------------------