Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 331a6bf34b79ebee0665f953f5e37620 > files > 208

pyrite-0.9.3-4mdk.i586.rpm


* Coming Soon (or maybe not):

  - BTS->ToDo conduit for Debian developers
  - new configuration file format
  - BBDB import/export example applications
  - CORBA
  - true synchronization
  - "smart" installation (e.g. automatically converting docs)
  - additional local database format, maybe based on gdbm
  - useful things for the "test" package

* Changes in 0.9.3:

  - The configure script now tests for the existence of the gettext
    utilities, and will not attempt to install translations if they
    are not found.  Use "--disable-nls" to explicitly disable NLS
    support.

  - Sulfur bugfixes: Doc Toolkit will no longer crash if you have
    never installed a product before, and the state will now be saved
    properly.

* Changes in 0.9.2:

  - Fixed bugs in the configuration script and Makefile.

* Changes in 0.9.1:

  - Now using GNU autoconf for configuration; to build and install, do
    "./configure; make; make install".  Options to configure:
      --with-locale-dir=DIR    specify where to install translations
      --disable-sulfur         disable automatic installation of Sulfur

  - The "sync" application now disconnects when it is supposed to.

  - Disconnecting when no databases are open will no longer cause an
    exception.

  - Removed '//' comments from glue/pisock.i; the generated code
    should compile on non-gcc compilers now.

  - In Application objects, the user_list method now returns only
    numeric UIDs, not tuples.

  - New Application methods: please use them instead of hardcoding
    paths.

    user_path(name=None, uid=None)
    app_path(name=None)
    app_user_path(name=None, uid=None)

      These have to do with the location of data within the
      repository.  Each returns the pathname of a particular directory
      of interest:
        user_path     - the user directory (normally something like
                        '/home/rob/Palm/22061')
        app_path      - an application-specific but NOT user-specific
                        location (eg. '/home/rob/Palm/Pyrite')
        app_user_path - an application-specific AND user-specific
                        location (eg. '/home/rob/Palm/22061/Pyrite')

      If the 'name' parameter is supplied, it is considered to be a
      file or path name that is appended to the base path that would
      otherwise be returned.  The idea here is that if your app needs
      to save a bit of information, you should not hardcode a path but
      use these instead.

    user_open(name, mode='r', uid=None)
    app_open(name, mode='r')
    app_user_open(name, mode='r', uid=None)

      These functions correspond to the three described above, and
      open files in the appropriate location.

    Note that these use your application's app_prefix, so make sure to
    change it to something other than the default (which is 'Pyrite').

  - Another new Application tool: products.  See doc/README.products
    for more information.

  - Pyrite now binds its '_' function to its message catalog
    explicitly, rather than using gettext.gettext and
    gettext.textdomain().  This should make it possible to more easily
    internationalize Sulfur, Doc Toolkit, etc.

* Changes in 0.9.0:

  - SIGNIFICANT CHANGES - read doc/README.0.9.0.

  - Removed some old, no longer used code: DBTypes.py, DLP.py,
    Config.py (and remnants in Conduit/Install.py), and a big chunk of
    prc.py.

  - Rearranged the innards of the Backup conduit slightly, to make the
    "should this file be backed up" logic slightly less complicated.
    This should have no visible effect, but if you notice a problem
    please report it.

  - Fixed a problem in prc.py that would occasionally cause it to
    write prc files that aren't openable by POSE (and probably by the
    Palm Desktop).

* Changes in 0.7.9:

  - Store internals are being reorganized slightly, mainly to make it
    easier to graft a distributed object layer into Pyrite at that
    point.  This only affects developers of new Store modules, so if
    you are developing applications or just using Pyrite, you won't
    notice any difference.  (The changes, inasmuch as they don't break
    backward compatibility, are not being made to the old File and
    Directory Stores, since they are going to be deprecated soon.)

  - A "test" subpackage has been added, to contain test scripts.  See
    doc/README.tests for more information.  For convenience, the
    generated Makefile now has a "test" target that runs all provided
    tests.

  - Pyrite will now look in environment variables for some defaults:

      PYRITEPORT - the port to which the cradle is connected
      PILOTPORT  - (same, but used only if PYRITEPORT is not
                   specified)
      PYRITEPATH - the path to the data directory
      PYRITEUSER - the default user name
      PYRITEUID  - the default UID

    Combined with the automatic state-saving introduced in 0.7.8, this
    should allow Pyrite to be used in many situations without a
    configuration file.

    If you set one of these variables, it will override the
    corresponding value read from the configuration file, if one is
    present.

* Changes in 0.7.8:

  - There is now some support for internationalized text using
    gettext.

  - All original parts of Pyrite are now under a license like that of
    the Python interpreter.  (The pilot-link glue and
    internationalization support are still under the LGPL, though.)

  - The Application object now saves some information in a pickle
    between runs.

  - The current user name and ID are stored between runs, so that any
    change to the "current user" (including synchronization) will be
    persistent.  If the defaults::user or defaults::uid configuration
    options are present, they will override the corresponding saved
    data when the application is first run.  (Pyrite will always
    change its notion of the "current user" when a handheld is
    synchronized.)

  - Pyrite now creates a sync ID (to put in the "lastSyncPC" field in
    the palmtop user structure) and saves it in the state pickle.

  - The Backup conduit has a new option, "skip-old-applications".  If
    true, which is the default, applications on the palmtop will not
    be backed up if they already exist in the backup directory.  This
    should hopefully speed things up on those occasions when the Palm
    OS decides to change the modification date/number on everything.

* Changes in 0.7.7:

  - There is now a '--debug' command line option to all Pyrite
    applications.  At present, it is only used by the sync.py utility;
    if set, exceptions during sync result in full tracebacks, rather
    than one-line error messages.

  - Bug fix: iteration over categories and/or modified records should
    now work.

* Changes in 0.7.6:

  - The Backup conduit now scans the backup directory in the presync
    pass, to save connection time.

  - The C module now properly throws Python 1.5 exception objects.

  - The presync method of a conduit must now return true if the
    conduit has any work to be done while the connection is open.  If
    the return is false, the conduit's __call__ method won't even be
    called during the sync pass.

  - The sync.py utility has been modified to work with the above
    changes, and to force the connection open before the sync pass.

  - The "fetchusa.py" utility is back, more or less.

* Changes in 0.7.5:

  - The 'open' method in the Application class has been enhanced:

    - the default mode is now 'rs'; if you want write access, you have
      to explicitly ask for it.  This more closely mimics the normal
      Python semantics for 'open', and should cause fewer problems
      with Stores that can't open existing databases for write.

    - there is now an explicit 'dbclass' parameter, which is passed
      along to the Store when the database is opened.

    - the supplied filename may be a http: or ftp: URL, in which case
      it will be fetched via the new URL Store (see below).

    - file: URLs will be treated identically to plain filenames if
      they refer to localhost (or no host at all), otherwise they will
      be handled by the URL Store.

    - a URL of the form user:[//username/][path/]dbname can be used to
      refer to a database in the Pyrite repository.  If the username
      is not specified, the default is the current user; if the path
      is not specified, the default is "backup".

    - if a local filename isn't found, Pyrite will attempt to open the
      specified *database* name instead.  That is, if you specify
      "MemoDB" and there is no file called "MemoDB", the open method
      will create a Directory store and search it for a database
      called "MemoDB" instead.

    As new storage methods are added, the "open" method will be
    extended to handle them; a "create" method is coming soon, too.

  - If None (instead of a Store) is passed as the first argument to
    the open method of an App plug-in, the Application's open method
    will be called instead.

  - There is now a URL Store, which reads prc/pdb format databases
    from arbitrary URLs using the standard Python urllib module.  It
    is currently read-only; the first time you touch it (open, list,
    info, etc.) it fetches the content of the URL and caches it.  The
    URL Store uses the pure-Python prc/pdb code, regardless of the
    value of the 'pure' option.

  - The default application class now defines a 'pure' option; if
    true, it causes the user_directory and open methods to use the
    pure-Python prc/pdb code.  That is, if you run any standard Pyrite
    application with the '--pure' command line option, the new code
    will be used.  Please test the pure code and report any problems!
    In a future release, the sense of the 'pure' option will be
    reversed, and some time after that the C prc/pdb access code will
    cease to exist...

  - The pure file code in prc.py has been rewritten again.  The new
    version (in the "File" class; the old stuff is still there under
    the "OFile" class) wraps record/resource data into objects which
    can be compared by id or type/id.  This allows the data to be kept
    in a single list (instead of parallel lists) while still allowing
    easy lookups with "in", "index", etc.  (Of course, any id-based
    operations are still O(n), so there is still a need for a better
    data structure... more work is ahead.)

  - There is now a pure-Python version of the Doc compress/uncompress
    routines (in doc_compress.py), which will be used if the C
    module cannot be loaded for some reason.  Please read
    doc/doc_compress.txt for some more comments on this code.

  - The configuration option Pyrite::plugin-packages can be used to
    add packages to the plugin search path.

* Changes in 0.7.4:

  - Synchronization is now a three-pass process.  In the first pass,
    conduits' "presync" methods are called, in the second their
    "__call__" methods are called, and in the last their "postsync"
    methods are called.  The "presync" and "postsync" methods may not
    do anything that activates the DLP connection; the idea is that
    conduits with lots of work to do (fetching web pages, for example)
    can do it in "presync" or "postsync" with the connection closed,
    making the actual synchronization as fast as possible. (Note:
    conduits that do pre-sync stuff should watch out, in light of the
    change mentioned below... the current username could change
    between pre-sync and sync passes!)

  - If the palmtop has a different user name than the default, no
    exception will be thrown; instead, the user name on the palmtop
    will be configured, created if necessary, and used.

  - The default data-directory is now ~/Palm, if you don't put one in
    the configuration file.

  - Yet more friendliness, I hope: whenever possible, directories will
    be auto-created if they don't exist.  This includes: the data
    directory (at the beginning of the run), users (any time the user
    name is changed & configured), and user subdirectories
    (eg. backup, install).  It should now be possible to something
    semi-useful with Pyrite even with seriously hosed (or
    nonexistent!) configuration files, except that no default username
    still means that you can't do stuff offline.  (Perhaps I will save
    the last synchronized username in a pickle, and use it when no
    other default is provided, or something.)

  - Some changes to the Backup conduit, two of them much-requested:

    1. if the 'archive' option is set, databases deleted from the
       backup will be copied to the 'backup-archive' directory.

    2a. the 'exclude' option is a list of database names, which are
        skipped during the backup.

    2b. the 'exclude-regexps' option is a list of regular expressions,
        which match names of databases to be skipped during the
        backup.

    3. the 'delete_old' option now controls whether old databases will
       be deleted; this used to be a part of 'incremental', but is
       logically separate.

    (Note: Lists are specified in {} in the configuration file; see
    doc/sample.conf for an example.)

* Changes in 0.7.3:

  - New plug-in for the built-in Mail app, with database and
    preference support.  A conduit will follow.

  - Added some preference support to stores and app plug-in base
    class.  The DLP store supports reading and writing of preferences,
    and the Directory store supports reading only.

  - Various fixes which should make Pyrite a little more
    user-friendly.  (Real end-user support will come in the 0.9.x
    cycle, however.)

* Changes in 0.7.2:

  - The prc.py module has been examined and refined, and it now
    (hopefully) does everything the old pilot-link based pi-file
    databases do, and it will be expanded to provide even more
    flexibility in the future.

    Because this is a rather fundamental chunk of code, I encourage
    everyone to test it in their own applications, and to report any
    bugs or unexpected behavior.  To this end, the "PureDirectory" and
    "PureFile" stores work just like "Directory" and "File", but
    return prc.py-based databases instead of the usual pi-file based
    ones.  At some point in the future (0.8?), once the prc.py
    code appears stable, the "Pure" versions will become the default,
    and the pi-file interface will be deprecated.

  - Database objects now have properties which describe the little
    differences in their behavior, such as their handling of ID values
    or extensions to their interface.  See the top of Database.py for
    a list of meaningful values.  Database properties can be tested
    with the has_property method.

    Also, Stores now support a "properties" argument to the open and
    create methods, and a "test_db_properties" method.  These take a
    tuple or list describing the desired properties of a database.  If
    the combination is impossible or unavailable, test_db_properties
    will return None and open/create will raise an exception.

  - There is the barest beginnings of a Filter API... no filters yet,
    though.

  - IRIX compilation patches to _pdapalm.c, courtesy of Sjoerd
    Mullender <sjoerd@oratrix.nl> who reported lots of things that
    need to be casted to satisfy a picky compiler.

  - Removed the try/except import in Platform/__init__.py.  Red Hat
    Linux users should have no more strange SyntaxError exceptions...

  - The C module now uses and returns all type & creator values as
    4-character strings.  Previously it could return an integer if the
    value as a string would contain unprintable characters.


* Changes in 0.7.1:

  - The "Databases" chapter in the documentation has been updated to
    reflect the new 0.7.x Database object.

  - Database objects now have "new_record", "new_resource", and
    "new_appblock" functions, so that applications can obtain
    ready-to-use blocks without explicitly importing the module they
    are defined in.

  - The Doc plug-in now has "open_stream" and "create_stream" methods
    which mimic "open" and "create", except that the returned object
    is not a database but a pseudo-file which can be used in many
    places that expect a regular Python file object.

  - The makefile no longer uses '-e', but uses '-d' instead.

* Changes in 0.7.0:

  Pyrite 0.7.0 is, for all practical purposes, a completely different
  product than previous versions.  Almost everything has been either
  replaced or rewritten.  Much reorganization has taken place.  Many
  APIs have changed.

  **Please read doc/README.0.7.0 for full details.**

* Changes in 0.6.1: [March 11, 1999]

  - New heuristic for incremental backup, which should eliminate
    the unwanted full backups that would sometimes occur when the OS
    rearranged memory on the handheld.  The Backup conduit should also
    properly deal with data from BackupBuddy Certified applications.
    See doc/backup.txt for more information.

  - Fixed a date conversion bug which occurs on some Unix platforms.

  - The Backup conduit now removes partial files when there is an
    error.  (Fixes Debian bug #27540)

  - Cleaned up the C module a bit more, and rearranged it to avoid
    static forward references in the interest of portability.

* Changes in 0.6.0: [February 1, 1999]

  - Name changed to Pyrite, and various trademark conformance changes
    made:

    * The "HotSync" conduit module is now called "Sync"
    * The "hotsync" utility is now called "sync"
    * Pyrite now uses the [Pyrite] section of config files (but will
      read the [PalmPython] section for backward compatibility)
    * The list of conduits is now in the "Sync.conduits" config
      option (but the old "HotSync.conduits" option under [PalmPython]
      will still work).

  - Documentation!  At least a start on it, anyway...

  - Introduced the Store API.  As it reaches completion, the old
    methods of accessing databases will be deprecated.

  - Introduced a plug-in API for application support modules.  It does
    very little at present, but more will be added in this development
    cycle.

  - Added a way to find plug-ins (see Plugin.find_plugins).

  - Moved registry-related and Block-related stuff to separate
    modules, to reduce the size and logical complexity of DLP.py.
    (This general trend will continue in upcoming releases.)

  - Purified the various App modules by replacing the pack/unpack code
    in the _pdapalm C module with equivalent Python code.  Although
    this may slow things down a little bit, it is ultimately more
    portable; my goal is to reduce PalmPython's dependence on
    pilot-link (and C in general) to the minimum possible.

  - Added "dump" methods to all the basic Block classes, for use in
    debugging or other general data-viewing applications.

  - Assorted cleanup.

* Changes in 0.5.5: [October 25, 1998]

  - Made App.XWord more robust with respect to wierdly formatted USA
    Today puzzle headers.

  - To Do bugfixes.

* Changes in 0.5.4: [September 13, 1998]

  - Removed the backup_dir and install_dir options from the Backup and
    Install conduits respectively.

  - Minor conduit and option bugfixes.

* Changes in 0.5.3: [September 10, 1998]

  - Added appinfo support to App.Doc, and fixed a bug in the DOCReader.

  - Fixed a small bug in _pdapalm.c.

* Changes in 0.5.2: [September 1, 1998]

  - Packaged for Debian GNU/Linux (finally).

  - Added util/configsetup.py, a script to semi-intelligently set the
    options in the system-wide and user configuration files, make
    default user directories, and the like.

  - Added code to the Registry to add, delete, rename, and list
    available users, plus a Tk GUI dialog and a command-line utility
    that uses it (see util/palmuser.py)

* Changes in 0.5.1: [August 28, 1998]

  - Changed license to LGPL.

  - Moved the functionality of util/install.py into the Install
    conduit, for use by other applications.

  - Added category support to the DOCWriter.

  - Fixed a couple of stupid bugs.

* Changes in 0.5.0: [August 25, 1998]

  - More common code added to the sync manager, meaning less code in
    user utilities which need to use it.

  - New option configuration file layout, per discussions on the
    Pilot-Unix mailing list.  See doc/config.txt for more details.
    Because discussion is ongoing, please note that there may be
    further changes in weeks to come.

  - Created a "Plugin" class to hold common code for conduits and
    other pluggable modules.  Look for import/export filters using
    this API in an upcoming version.

  - Major changes to the Block API.  Blocks (and thus Records et. al.)
    now have an internal data dictionary which can be used by other
    code to discover the contents of an arbitrary block.  Blocks now
    have a dictionary-like interface, instead of treating data members
    as attributes, and all data members must be accessed through it.
    (As a side effect, this means things like keys() and get() work on
    Blocks.)

  - Various extensions to the DOCWriter class. Since it has to buffer
    the entire document in memory anyway, it now waits to open its
    database until the document is closed.  This also means that some
    database header information can be passed to the DOCWriter for
    later use.  The "remote" initialization argument is no more; it
    now uses a generic "target" instead of a database handle, and uses
    isinstance() et. al. to determine whether it is an open database,
    an DLP connection, or a filename.

  - Fixed a minor bug in the Address module.

* Changes in 0.4.0: [June 8, 1998]

  - Complete overhaul of conduit option handling.  Options are now
    defined by objects (class definitions in the "Options" module),
    each of which can have validation criteria, documentation, etc.
    Tk.ConfigDialog is a general-purpose GUI option editor which
    constructs a dialog on the fly based on available options.

  - Fixed bug in configure script which caused it to incorrectly
    identify the Python library directory on 1.5.1 installations (and,
    more generally, on installations with a 3+ level version number).

  - Distribution archive now no longer untars to PDA/Palm, but to
    palmpython-<version>; use the "install" target of the Makefile to
    install it.

* Changes in 0.3.0: [May 13, 1998]

  - First signs of GUI support, in the "Tk" subpackage.

  - Added command-line install utility (util/install.py).  If called
    with no arguments, it will pop up a Tk-based file selection
    dialog.

  - Renamed all references to "Pilot" to read "Palm", and changed the
    name of the product from "PDA.Pilot" to "PalmPython".  Sorry about
    the mess, but I thought it would be better to get this out of the
    way now, before too much code gets written using the old names.

  - Improvements to the configuration script; it now generates a
    simple Makefile.


* Changes in 0.2.3:

  - Fixed bug in Doc creation which caused the resulting databases to
    be un-installable using the official Palm/Pilot Desktop.

* Changes in 0.2b:

  - Added class registration of creator 'TlDc' (TealDoc) to App.Doc
    module.  TealDoc documents should now open with the proper
    database class.  The default type/creator when creating new Docs
    are still the standard ones.

  - Removed xmldoc et. al. for separate distribution.


* Changes in 0.2:

  - Binary modules are now in a platform-specific directory, to enable
    the package to be shared among multiple architectures.

  - Many internal changes in the C module, to eliminate most of the
    C code's dependencies on Python, and corresponding Python-level
    changes.

  - Added xmldoc.

  - Added the conduit configuration registry.


* Changes in 0.1b:

  - Bug fixes in App.Datebook, App.Todo, & App.Doc.

  - Updated C module to pilot-link 0.8.11, plus various bug fixes and
    cleanup.  Added Datebook support.

  - Added App.MoneyManager.


* Changes in 0.1a:

  - Made util/hotsync.py useful.

  - "from PDA.Pilot.Conduit import *" now works.

  - Added Install and TimeSync conduits.

  - Various changes to Backup and SyncManager conduits.

  - Started keeping track of changes :-)



;; Local Variables:
;; mode: outline
;; End: