Commit Graph

19 Commits

Author SHA1 Message Date
Bharat Mediratta
4828db003f Remove 'ENGINE=InnoDB' specification from tables that we create. Use
the system's default table specification.  Fixes ticket #597.
2009-08-27 15:47:54 -07:00
Bharat Mediratta
bfca0c7903 Refactor the install/upgrade code to be more flexible.
Add xxx_installer::upgrade($version) method so that upgrade stanzas
are separate from install stanzas.  In the old code, to do an upgrade
meant that you had to re-evolve everything from the initial install
because we'd step through each version's changes.  But what we really
want is for the initial install to start off in the perfect initial
state, and the upgrades to do the work behind the scenes.  So now the
install() function gets things set up properly the first time, and the
upgrade() function does any work to catch you up to the latest code.
See gallery_installer.php for a good example.
2009-06-23 12:00:49 -07:00
Bharat Mediratta
7e5e70548b clean up whitespace errors introduced in last commit 2009-05-26 06:01:04 +00:00
Bharat Mediratta
7aed923908 Restructure the module lifecycle.
Install: <module>_installer::install() is called, any necessary tables
are created.

Activate: <module>_installer::activate() is called.  Module
controllers are routable, helpers are accessible, etc.  The module is
in use.

Deactivate: <module>_installer::deactivate() is called.  Module code
is not accessible or routable.  Module is *not* in use, but its tables
are still around.

Uninstall: <module>_installer::uninstall() is called.  Module is
completely removed from the database.

Admin > Modules will install and activate modules, but will only
deactivate (will NOT uninstall modules).
2009-05-26 05:28:59 +00:00
Bharat Mediratta
774e0b3737 Avoid complex inserts in available_tasks() to make admin/maintenance
run faster.  This fixes ticket #235.

Incidentally, refactor exif and search to use the same patterns
overall so that if you understand one, you understand the other and
they generally use the same strings for localization.
2009-05-20 06:10:14 +00:00
Bharat Mediratta
5495037a3d Gee it's May already. Update copyright to 2009. 2009-05-13 20:04:58 +00:00
Bharat Mediratta
977d0da9f3 Refactor the exif module to denormalize the stored data. This way we
have a single exif_record for each item instead of 1 per key.  It's
about 5x faster to scan photos this way.
2009-05-11 03:53:44 +00:00
Bharat Mediratta
13f8a0dd7b Detect input encodings from EXIF/IPTC data and convert to utf-8 as
appropriate.  This allows us to switch the exif value column back to
varchar and improves the way that we deal with non-utf8 data in our
embedded EXIF/IPTC data.
2009-05-05 03:30:49 +00:00
Bharat Mediratta
2a5abfdbd4 Update value size to 1536 chars because I had an image which went over 1024 chars 2009-04-27 05:36:32 +00:00
Bharat Mediratta
f51765a4b2 Drop the item_id key; we don't need this level of strictness in most
cases and it slows down inserts.
2009-04-25 22:17:06 +00:00
Bharat Mediratta
bab514a48d Change the value column to varbinary so that we can handle the occasional binary data embedded in places like the EXIF caption field 2009-04-25 22:02:50 +00:00
Bharat Mediratta
63ce71a32b Add a key on item_id so that our query to find missing exif records is efficient 2009-04-25 06:52:44 +00:00
Bharat Mediratta
846fc51f61 Optimization: add all exif/iptc keys in a single insert, instead of
many separate queries.

In the process, rip out the summary column, we weren't using it.
Clean up the test, and drop the exif_records database on uninstall.
2009-04-05 03:54:08 +00:00
Bharat Mediratta
70390e83f8 Make the exif_key value size 1k 2009-03-13 04:09:28 +00:00
Tim Almdal
c04ff8e02f Change the pattern to identify tables that need prefix substitution to
mirror the drupal pattern of using braces {}.
2009-02-28 06:37:28 +00:00
Tim Almdal
bd15853708 This implements table prefix for all the queries in core, user, exif,
tag, search, comment and notification modules (Ticket #68)
2009-02-27 21:07:18 +00:00
Bharat Mediratta
590a4677f3 Tweak EXIF extraction code to be more robust.
* Create Exif_Record_Model to track whether we've scanned the EXIF
  data for this photo or not.  This allows us to track photos that
  don't have EXIF data (and won't have any Exif_Keys)

* Blow away old Exif_Keys when extracting, else we hit unique
  index constraints.

* exif::_get_stats() -- before it was running the task forever
2009-02-15 08:08:22 +00:00
Tim Almdal
19f29fb1d6 Exif data is now collected when an image is added. 2009-02-10 16:28:50 +00:00
Tim Almdal
12701b1801 The start of the exif module. so I can merger the exifer library 2009-02-07 21:21:08 +00:00