schemas/VegCore/VegCore.ERD.mwb: method: colored it forest green like stratum because these are both tables in the same category (method), and forest green is the color VegBank uses for methods. (the fact that VegBank gives stratum the method color indicates that we are on the right track when we are treating stratum as a type of method that's essentially a height class.)
schemas/VegCore/VegCore.ERD.mwb: method: added parent fkey which can be used to autoinherit attributes from another method, in the same way that event autoinherits a method from its parent
schemas/VegCore/VegCore.ERD.mwb: replaced < event label for diagram half with < place, because the occurrence half actually also includes events (observations), but does not include places
schemas/VegCore/VegCore.ERD.mwb: removed extra empty page used for moving objects around
schemas/VegCore/VegCore.ERD.mwb: swapped position of place and source categories so that the place tables, which users are apt to query often, are at the top, and the attribution information, which is likely to be used less often, is at the bottom. this also moves the plot table closer to taxon_occurrence, which should eventually have an fkey to it.
schemas/VegCore/VegCore.ERD.mwb: fixed lines
schemas/VegCore/VegCore.ERD.mwb: record: added source_id_scope and added it to the record_unique unique index
schemas/VegCore/VegCore.ERD.mwb: Default*ColumnType: updated to VARBINARY type used in key columns
schemas/VegCore/VegCore.ERD.mwb: TNRS taxonomic scrubbing steps: repositioned arrow labels so they point in the direction of the fkey lines
schemas/VegCore/VegCore.ERD.mwb.run: use new zip/unzip_newer
lib/util.run: added zip/unzip_newer aliases
lib/util.run: added zip/unzip echo_run aliases
schemas/VegCore/VegCore.ERD.mwb.run: export_ (): always overwrite existing files. this option is safe, because -u only extracts files with a newer mtime than their copies on disk.
schemas/VegCore/VegCore.ERD.mwb: TNRS taxonomic scrubbing steps labels: converted tables to notes, which now have bold formatting so that empty tables aren't needed for formatting purposes
schemas/VegCore/VegCore.ERD.mwb.run: import/export_ (): use zip/unzip's -u flag instead of `make` to auto-sync the zip file contents. the -u flag has the added benefit of preserving the contained file's mtime, at the expense of an mtime lookup in the zip archive's table of contents.
added schemas/VegCore/VegCore.ERD.mwb.run, which syncs VegCore.ERD.mwb's zip file contents
bugfix: lib/util.run: inline_make (): put echo_func at the top of the function
lib/util.run: inline_make (): pass Makefile commands using /dev/fd/3 (i.e. 3<<'EOF' ...) instead of stdin, to allow stdin to be used by commands that prompt the user
lib/util.run: inline_make (): use <() to pass Makefile commands as a named descriptor rather than using stdin, to allow stdin to be used by commands that prompt the user
bugfix: lib/util.run: echo_vars (): remove any value to set (=*) from the vars, since this is often used with export
bugfix: lib/util.run: echo_export (): set the vars before echoing them
lib/util.run: run_args_cmd (): use new canon_rel_path() to resolve .. in the script path, so it's easier to see where the script is actually located
lib/util.run: echo_func (): use new canon_rel_path() to resolve .. in the script path, so it's easier to see where the script is actually located
lib/util.run: added canon_rel_path ()
lib/util.run: inline_make (): provide $self as make var
lib/util.run: inline_make (): provide self_dir to make as env var instead of as make var, to avoid specifying every make var both as a local var and as a make var in the make command
lib/util.run: export alias: added comment explaining what it does
lib/util.run: aliased export to echo_export so all env vars are automatically echoed when they are set
lib/util.run: added echo_vars (), echo_export ()
lib/util.run: inline_make (): added local $self and use it to create $self_dir
lib/util.run: inline_make (): set $self_dir as a local var before passing it to make, to avoid clutter in the command that invokes make
added schemas/VegCore/document.mwb.xml, so changes to the diagram can be tracked line-by-line. keeping this up-to-date requires running `unzip VegCore.ERD.mwb document.mwb.xml` whenever VegCore.ERD.mwb is changed.
schemas/VegCore/VegCore.ERD.mwb: target MySQL version: updated to 5.5.3
schemas/VegCore/VegCore.ERD.mwb: NoteFigure:TextFont (labels): made it bold to stand out better
schemas/VegCore/VegCore.ERD.mwb: Layer:TitleFont (legends): increased size and made it bold to stand out better
schemas/VegCore/VegCore.ERD.mwb: made stratum extend method, so that any observation event can have an associated stratum. removed no longer needed plot_stratum, since strata are now represented as sampling methods (i.e. using height classes) rather than a variant of subplots.
schemas/VegCore/VegCore.ERD.mwb: VegCore DB: changed collation to utf8_bin to match table collation
schemas/VegCore/VegCore.ERD.mwb: saved settings for publishing schema to vegbiendev phpMyAdmin (vegbiendev.nceas.ucsb.edu/phpmyadmin/index.php?db=VegCore). this adds `DROP TABLE IF EXISTS` before each CREATE TABLE statement, renames the default DB to VegCore, and adds a USE statement to select the VegCore DB.
schemas/VegCore/connections.xml: vegbiendev.nceas.ucsb.edu: set schema (DB) to VegCore
added schemas/VegCore/connections.xml, which should be installed as the connections.xml settings file
schemas/VegCore/VegCore.ERD.mwb: imported database connections from the connections.xml settings file into document.mwb.xml in the .mwb zip file. these connections are not used directly by MySQL Workbench, but instead need to be copied into the connections.xml settings file.
schemas/VegCore/VegCore.ERD.mwb: use Database > Forward Engineer (Ctrl+G) instead of File > Export > Forward Engineer SQL CREATE Script (Ctrl+Shift+G), so that comments will use the max comment length for the server's MySQL version rather than MySQL Workbench's internal MySQL version, which has a max comment length of only 60 chars for tables. this commit stores the default export settings for Forward Engineer, which are saved each time it's run.
bugfix: root Makefile: $(postgresReload-Linux): fixed the "shmat(id=...) failed: Cannot allocate memory" error by telling the user to restart PostgreSQL manually from the command line
root Makefile: $(postgresReload-Linux): don't restart Postgres twice, because this does not fix the "shmat(id=...) failed: Cannot allocate memory" error. this error is instead produced whenever PostgreSQL is restarted from within a Makefile, but not when it's run directly from the command line or /bin/sh.
root Makefile: $(postgresReload-Linux): restart Postgres twice, because the first time after the postgresql.conf has been udpated, it always produces a "shmat(id=...) failed: Cannot allocate memory" error
schemas/VegCore/VegCore.ERD.mwb: re-synced with VegCore.my.sql: step 2: `DEFAULT NULL` added on all nullable columns
schemas/VegCore/VegCore.ERD.mwb: re-synced with VegCore.my.sql: step 1: table order changed
schemas/VegCore/VegCore.ERD.mwb: relationship: renamed the two fk_relationship_record1 fkeys so their names wouldn't collide
schemas/VegCore/VegCore.ERD.mwb: changed encoding back to utf8/utf8_bin now that latin1 isn't needed to make the key columns satisfy the index length limits. note that the connection encoding must be utf8 on import so that the correct byte sequence is stored in the VARBINARY columns.
schemas/VegCore/VegCore.ERD.mwb: changed VARCHAR BINARY columns to VARBINARY because VARCHAR BINARY is actually only an alias for the *_bin collation of the table's encoding, but still uses multibyte characters if the encoding does. note that VARBINARY will still be displayed as text (in the connection encoding), rather than hex values.
schemas/VegCore/VegCore.ERD.mwb: changed the type of TEXT columns used in indexes to VARCHAR BINARY to satisfy prefix length limits ("a prefix can be up to [...] 767 bytes for InnoDB tables" <http://dev.mysql.com/doc/refman/5.5/en/create-index.html>). the BINARY flag was added to allow storing Unicode values (from UTF-8), which are not representable in the latin1 encoding.
schemas/VegCore/VegCore.ERD.mwb: changed encoding to latin1 to fit more characters in length-limited indexes (indexes treat utf8 as having 3 bytes/character (http://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes#comment-18031137), which significantly reduces the max length of an indexed column)
schemas/VegCore/VegCore.ERD.mwb: changed collation to utf8_bin to avoid case-*in*sensitive comparison of case-sensitive strings. (utf8_bin is also much faster than encoding-aware collations because it uses the raw bytes.)
schemas/VegCore/VegCore.ERD.mwb: set DefaultPkColumnType to TEXT to match the type of current pkey columns
schemas/VegCore/VegCore.ERD.mwb: set all tables to use utf8/utf8_unicode_ci rather than latin1/latin1_swedish_ci because our DB is in UTF-8. utf8_unicode_ci is better than utf8_general_ci because it supports international characters better (http://forums.mysql.com/read.php?103,187048,188748)
schemas/VegCore/VegCore.ERD.mwb: TNRS taxonomic scrubbing steps labels: removed fkey columns to the next step since these are not needed and were causing problems with round-trip sync to the .my.sql file
bugfix: schemas/VegCore/VegCore.ERD.mwb: fixed foreign keys without a referenced columns list
schemas/VegCore/VegCore.ERD.mwb: upgraded for MySQL Workbench 5.2.47 (MySQL 5.5), which requires indexes to have different names than fkeys
schemas/postgresql.conf: shared_buffers: reduced again for Ubuntu VM
bugfix: schemas/postgresql.conf: shared_buffers: removed invalid Unicode character U+FEFF
schemas/postgresql.conf: shared_buffers: reduced to work in Ubuntu VM
README.TXT: Maintenance: to synchronize vegbiendev, jupiter, and your local machine: add * after analytical_aggregate.*.csv to match *.md5 files as well
inputs/VegBIEN/TWiki/templates/login.tmpl: increased font size further using <span> style. changed text to fit on two lines with the new size.
inputs/VegBIEN/TWiki/templates/login.tmpl: added large text with instructions to register (the TWiki instructions are small and easily missed)
added inputs/VegBIEN/TWiki/templates/login.tmpl
inputs/VegBIEN/TWiki/twiki.conf: main TWiki dir: changed redirect to go directly to the Main TWiki web, so that we don't need to worry about creating different "webs" (subsites) for top-level wiki pages
inputs/VegBIEN/TWiki/twiki.conf: main TWiki dir: redirect shortened wiki page URLs of the form vegpath.org/twiki/Path to do/view/ for use with VegPath
added web/.twiki symlink to datasources/VegBIEN/TWiki/
added inputs/VegBIEN/TWiki/twiki.conf
schemas/VegCore/VegCore.ERD.mwb: coordinates: added latitude_deg, longitude_deg. geovalidation: added lat_long_in_ranks hstore.
schemas/VegCore/VegCore.ERD.mwb: realigned event/occurrence divider. moved method to avoid overlapping the halves.
schemas/VegCore/VegCore.ERD.mwb: specimen: replaced specimen_holder_institutions with specimen_holder_institution many:many table. added fkeys for the various institution fields. collection: removed name because this is already a required field in source. event_participant: removed *_id suffixes from fields.
schemas/VegCore/VegCore.ERD.mwb: replaced party_list with event_participant many:many table, since the nature of each type of party_list (ordered, not, etc.) may differ between tables that HAVE-A party_list, and because it is not possible to create an fkey to a column that is not unique in the referenced table (as is the case for party_list.list_id)
schemas/VegCore/VegCore.ERD.mwb: made first_publisher a field of source (fkey to party) instead of a subclass of it, because a source can be both an aggregator for some datasets and a first publisher for others and which one it is depends on the dataset
schemas/VegCore/VegCore.ERD.mwb: added organization
schemas/VegCore/VegCore.ERD.mwb: added party_list
schemas/VegCore/VegCore.ERD.mwb: regenerated exports
schemas/VegCore/VegCore.ERD.mwb: taxon_presence, aggregate_observation: added required taxon field to identify (distinguish) the observation itself. this is expected to be the same as the first taxon_determination applied to the observation.
schemas/VegCore/VegCore.ERD.mwb: collection: renamed code to name because the collection code is often the full name of the collection, rather than just an abbreviation. made name required.
schemas/VegCore/VegCore.ERD.mwb: source: added name
schemas/VegCore/VegCore.ERD.mwb: set page size to fit the ERD contents. this cannot be done through the GUI, so instead you need to use the following steps:
$ unzip ERD.mwb document.mwb.xmlopen document.mwb.xml and search for "this ERD" units are mm$ zip -u ERD.mwb document.mwb.xml...
schemas/VegCore/VegCore.ERD.mwb: fixed split connector
schemas/VegCore/VegCore.ERD.mwb: fixed inheritance lines
schemas/VegCore/VegCore.ERD.mwb: source: added contact field (fkey to party)
schemas/VegCore/VegCore.ERD.mwb: party: inherit from record instead of source, because a party is defined by and scoped by a datasource but isn't a datasource itself (however, a named datasource can have an associated admin party)
schemas/VegCore/VegCore.ERD.mwb: moved tables to make more room between specimen and taxon tables
schemas/VegCore/VegCore.ERD.mwb: split taxon_occurrence into taxon_occurrence and taxon_observation, because a taxon_*occurrence* is actually the thing on which a taxon_*observation* is made, not the observation itself. rearranged tables significantly to put observations next to the things they observe, and to make the ERD less wide so it will fit on a small screen without as much scaling (allowing a bigger font size when the ERD is shrunk to fit the screen).
schemas/VegCore/VegCore.ERD.mwb: added primary columns. changed VARCHAR columns to TEXT and also set default type in ERD so future columns won't need to be changed.
schemas/VegCore/VegCore.ERD.mwb: added primary columns, including catch-all hstores for custom columns. made stem inherit from individual and stem_observation from individual_observation because any stem can have individual-level traits and identifying info.
schemas/VegCore/VegCore.ERD.mwb: replaced trait table with traits hstore on taxon_occurrence, since the trait table is basically just a way of allowing the user to add arbitrary measurement columns to the taxon_occurrence. units can be indicated by storing a record with the quantity and units, converted to a string, and parsing it back out as a record upon retrieval.
schemas/VegCore/VegCore.ERD.mwb: renamed taxon_observation to taxon_presence for clarity and to distinguish it better from taxon_occurrence
schemas/VegCore/VegCore.ERD.mwb: taxon_determination: added identified_date and unique index on identifying columns
schemas/VegCore/VegCore.ERD.mwb: taxon_determination: added identified_by. rearranged taxon tables to visually differentiate between inheritance relationships (1:1) and directional HAS-A arrows
schemas/VegCore/VegCore.ERD.mwb: taxon tables: added catch-all hstores for custom columns
schemas/VegCore/VegCore.ERD.mwb: split taxon_concept into taxon_name (containing the components of a name) and taxon_concept (containing the taxon's formal specification and relationships to other taxon_concepts). this avoids requiring a taxon_concept entry for names that are not true taxon concepts. taxon_name: added taxon name/author-related components. TNRS taxonomic scrubbing steps: added dummy id column to avoid sync problems with empty tables.
schemas/VegCore/VegCore.ERD.mwb: taxon tables: added nonidentifying columns
schemas/VegCore/VegCore.ERD.mwb: categories: updated box sizes