Changes for version 0.42_02 - 2014-06-27

  • Eliminate some warnings when running tests Attempt to get e view test to complete when XML is not available

Changes for version 0.42_02 - 2014-06-27

Changes for version 0.42_01 - 2014-06-26

  • Bump up the version number so CPAN will accept the upload

Changes for version 0.41_01 - 2014-06-26

  • Set objects now have member_iterator() method. Data loaded from an RDBMS during the life of a program can be copied to an alternate database. Use the "C" collation with PostgreSQL when doing an order-by on a text-type column to match how UR will sort cached objects using perl's cmp. Singleton accessors can be called on the class as well as the instance. Class initializer is more strict about what is a valid property name; it must be a valid function name. Added UR::Value::JSON class. Its "id" is a JSON-encoded string of the instance's properties and values. Added UR::Context::Transaction::eval() and do() functions to wrap software transactions around blocks. Added UR::DataSource::RDBMSRetriableOperations mixin class to allow RDBMSs to control whether failed DB operations should be retried. Added signals for when a data source fails a query or commit, and when the handle is created or disconnected. Added signal to UR::Context for when synchronizing to the datasources has succeeded or failed. Added 'isa' operator to boolean expressions. Evaluates to true if the attribute isa the given class. Fixed a bug where a Set object's value for an aggregate would be incorrect if cached member objects' values change. Fixed a bug where UR objects frozen in boolean expressions could cause database rows to be deleted when thawed. UR's class browser (ur sys class-browser) is working again.

Changes for version 0.42_02 - 2014-06-27

Changes for version 0.42_01 - 2014-06-26

  • Bump up the version number so CPAN will accept the upload

Changes for version 0.41_01 - 2014-06-26

  • Set objects now have member_iterator() method. Data loaded from an RDBMS during the life of a program can be copied to an alternate database. Use the "C" collation with PostgreSQL when doing an order-by on a text-type column to match how UR will sort cached objects using perl's cmp. Singleton accessors can be called on the class as well as the instance. Class initializer is more strict about what is a valid property name; it must be a valid function name. Added UR::Value::JSON class. Its "id" is a JSON-encoded string of the instance's properties and values. Added UR::Context::Transaction::eval() and do() functions to wrap software transactions around blocks. Added UR::DataSource::RDBMSRetriableOperations mixin class to allow RDBMSs to control whether failed DB operations should be retried. Added signals for when a data source fails a query or commit, and when the handle is created or disconnected. Added signal to UR::Context for when synchronizing to the datasources has succeeded or failed. Added 'isa' operator to boolean expressions. Evaluates to true if the attribute isa the given class. Fixed a bug where a Set object's value for an aggregate would be incorrect if cached member objects' values change. Fixed a bug where UR objects frozen in boolean expressions could cause database rows to be deleted when thawed. UR's class browser (ur sys class-browser) is working again.

Documentation

ur
command-line interface to UR
Environment variables that control UR behavior
Short list of UR's documentation
Recepies for getting things working
Overview of the metadata classes in UR
UR from Ten Thousand Feet
Slides for a presenation on UR
Tips for designing an efficient schema for UR
Step-by-step guide to building a set of classes for a simple database schema
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
tools to create and maintain a ur class tree

Modules

auto-generate sub-commands based on other classes
base class for modules implementing the command pattern
base class for modules implementing the command pattern
UR
rich declarative transactional objects
a "where clause" for objects
a UR::BoolExpr minus specific values
a rule which is true if ALL the underlying conditions are true
an "and" or "or" rule
a rule which is true if ANY of the underlying conditions are true
implements logic for rules with a logic_type of "PropertyComparison"
evaluates to true if the property's value is false
perform a greater than or equal test
Test whether a value is-a subclass of another class
perform a Perl regular expression match
perform a negated In comparison
perform a negated SQL-ish like test
Evaluates to true if the property's value is true
non-OO module to collect utility functions used by the BoolExpr modules
Manage the current state of the application
The base context used when no special base context is specified
Track closures used to fabricate objects from data sources
Impliments a generic interface to the current application.
API for software transactions
methods for interacting with a database.
a database report interface
manage the the relationship between objects and a specific storage system
Parent class for data sources using DBD::CSV
Parent class for file-based data sources
Parent class for datasources which can multiplex many files together
Get and save objects to delimited text files
Data source for the MetaDB
MySQL specific subclass of UR::DataSource::RDBMS
Oracle specific subclass of UR::DataSource::RDBMS
PostgreSQL specific subclass of UR::DataSource::RDBMS
Abstract base class for RDBMS-type data sources
metadata about a data source's bitmap indexes
Parent class for all MetaDB-sourced classes
metadata about a data source's foreign keys
metadata about a data source's foreign keys
metadata about a data source's primary keys
Object-oriented class for RDBMS table objects.
View class for RDBMS table objects
metadata about a data source's table's columns
View class for RDBMS column objects
metadata about a data source's unique constraints
base class for datasources using the SQLite3 RDBMS
Controls for debugging behavior
Represents an instance of a no-longer-existent object
methods to allow clean application exits.
Methods common to all UR classes and object instances.
a Module::Build subclass with UR extensions
manage dynamic configuration of modules.
UR hooks into Class::Autouse
Manage collections of packages and classes
Top-level Command module for the UR namespace commands
WebApp for browsing the class structure
transactional, queryable, process-independent entities
Base class for fetching objects and then performing a function on/with them.
Fetches and lists objects in different styles.
Fetches and lists objects in different styles.
Abstract class for representing deleted objects not yet committed
Indexing system for retrieving objects by non-id properties
API for iterating through objects matching a rule
Class representing metadata about a class property
View class for UR::Object::Property
View class for UR::Object::Property
View class for UR::Object::Property
Transitory attribute tags for a UR::Object at a given time.
a meta-class for any class or primitive type
Helper module for UR::Object::Type responsible for creating accessors for properties
Implements a calculation accessor which multiplies the values of its properties
Implements a calculation accessor which sums the values of its properties
Class definition syntax
Helper module for UR::Object::Type responsible for writing Perl modules
View class for class metaobjects
View class for class metaobjects
a base class for "views" of UR::Objects
a specification for one aspect of a view
Gtk adaptor for object views
Gtk2 adaptor for object views
represent object state in HTML format
object views in text format
represent object state in XML format
base class for views which use XSL on an XML view to generate content
represent object state in HTML format
Declaration of Text as a View toolkit type
restores changes removed in UR version 0.01
restores changes removed in UR version 0.04
bind callbacks to object changes
A self-contained JSON-RPC server for UR namespaces
Base class for modules implementing RPC executers
Serializable object appropriate for sending RPC messages
Class for implementing RPC servers
PSGI-aware router for incoming requests
A PSGI-based web server
Abstract class for implementing singleton objects
Collection of utility subroutines and methods
auto "use lib" when a module is in the tree of the PWD

Provides

in lib/Command.pm
in lib/Command/Shell.pm
in lib/Command/SubCommandFactory.pm
in lib/Command/Test.pm
in lib/Command/Test/Echo.pm
in lib/Command/Test/Tree1.pm
in lib/Command/Test/Tree1/Echo1.pm
in lib/Command/Test/Tree1/Echo2.pm
in lib/Command/Dispatch/Shell.pm
in lib/Command/V2Deprecated.pm
in lib/Command/View/DocMethods.pm
in lib/Devel/callcount.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/BoolExpr/BxParser.pm
in lib/UR/BoolExpr/BxParser.pm
in lib/UR/BoolExpr/Util.pm
in lib/UR/Change.pm
in lib/UR/Context/ImportIterator.pm
in lib/UR/Context/LoadingIterator.pm
in lib/UR/Context/Root.pm
in lib/UR/DBI.pm
in lib/UR/DBI.pm
in lib/UR/DataSource/Code.pm
in lib/UR/DataSource/Default.pm
in lib/UR/DataSource/Pg/Operator/False.pm
in lib/UR/DataSource/Pg/Operator/True.pm
in lib/UR/DataSource/QueryPlan.pm
in lib/UR/DataSource/RDBMS/Operator/Between.pm
in lib/UR/DataSource/RDBMS/Operator/Equals.pm
in lib/UR/DataSource/RDBMS/Operator/False.pm
in lib/UR/DataSource/RDBMS/Operator/GreaterOrEqual.pm
in lib/UR/DataSource/RDBMS/Operator/GreaterThan.pm
in lib/UR/DataSource/RDBMS/Operator/In.pm
in lib/UR/DataSource/RDBMS/Operator/LessOrEqual.pm
in lib/UR/DataSource/RDBMS/Operator/LessThan.pm
in lib/UR/DataSource/RDBMS/Operator/Like.pm
in lib/UR/DataSource/RDBMS/Operator/NotBetween.pm
in lib/UR/DataSource/RDBMS/Operator/NotEquals.pm
in lib/UR/DataSource/RDBMS/Operator/NotIn.pm
in lib/UR/DataSource/RDBMS/Operator/NotLike.pm
in lib/UR/DataSource/RDBMS/Operator/True.pm
in lib/UR/DataSource/RDBMSRetriableOperations.pm
in lib/UR/DataSource/ValueDomain.pm
in lib/UR/Doc/Pod2Html.pm
in lib/UR/Doc/Section.pm
in lib/UR/Doc/Writer.pm
in lib/UR/Doc/Writer/Html.pm
in lib/UR/Doc/Writer/Pod.pm
in lib/UR/Env/UR_COMMAND_DUMP_DEBUG_MESSAGES.pm
in lib/UR/Env/UR_COMMAND_DUMP_STATUS_MESSAGES.pm
in lib/UR/Env/UR_CONTEXT_BASE.pm
in lib/UR/Env/UR_CONTEXT_CACHE_SIZE_HIGHWATER.pm
in lib/UR/Env/UR_CONTEXT_CACHE_SIZE_LOWWATER.pm
in lib/UR/Env/UR_USED_LIBS.pm
in lib/UR/Env/UR_CONTEXT_MONITOR_QUERY.pm
in lib/UR/Env/UR_CONTEXT_ROOT.pm
in lib/UR/Env/UR_DBI_DUMP_STACK_ON_CONNECT.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_CALLSTACK.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_IF.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_MATCH.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_SLOW.pm
in lib/UR/Env/UR_DBI_MONITOR_DML.pm
in lib/UR/Env/UR_DBI_MONITOR_EVERY_FETCH.pm
in lib/UR/Env/UR_DBI_MONITOR_SQL.pm
in lib/UR/Env/UR_DBI_NO_COMMIT.pm
in lib/UR/Env/UR_DBI_SUMMARIZE_SQL.pm
in lib/UR/Env/UR_DEBUG_OBJECT_PRUNING.pm
in lib/UR/Env/UR_DEBUG_OBJECT_RELEASE.pm
in lib/UR/Env/UR_DUMP_DEBUG_MESSAGES.pm
in lib/UR/Env/UR_DUMP_STATUS_MESSAGES.pm
in lib/UR/Env/UR_IGNORE.pm
in lib/UR/Env/UR_NO_REQUIRE_USER_VERIFY.pm
in lib/UR/Env/UR_NR_CPU.pm
in lib/UR/Env/UR_RUN_LONG_TESTS.pm
in lib/UR/Env/UR_STACK_DUMP_ON_DIE.pm
in lib/UR/Env/UR_STACK_DUMP_ON_WARN.pm
in lib/UR/Env/UR_TEST_QUIET.pm
in lib/UR/Env/UR_USED_MODS.pm
in lib/UR/Env/UR_USE_ANY.pm
in lib/UR/Env/UR_USE_DUMMY_AUTOGENERATED_IDS.pm
in lib/UR/ObjectDeprecated.pm
in lib/UR/ObjectDeprecated.pm
in lib/UR/Namespace/Command.pm
in lib/UR/Namespace/Command/Define.pm
in lib/UR/Namespace/Command/Define/Class.pm
in lib/UR/Namespace/Command/Define/Datasource.pm
in lib/UR/Namespace/Command/Define/Datasource/File.pm
in lib/UR/Namespace/Command/Define/Datasource/Mysql.pm
in lib/UR/Namespace/Command/Define/Datasource/Oracle.pm
in lib/UR/Namespace/Command/Define/Datasource/Pg.pm
in lib/UR/Namespace/Command/Define/Datasource/Rdbms.pm
in lib/UR/Namespace/Command/Define/Datasource/RdbmsWithAuth.pm
in lib/UR/Namespace/Command/Define/Datasource/Sqlite.pm
in lib/UR/Namespace/Command/Define/Db.pm
in lib/UR/Namespace/Command/Define/Namespace.pm
in lib/UR/Namespace/Command/Init.pm
in lib/UR/Namespace/Command/List.pm
in lib/UR/Namespace/Command/List/Classes.pm
in lib/UR/Namespace/Command/List/Modules.pm
in lib/UR/Namespace/Command/List/Objects.pm
in lib/UR/Namespace/Command/Old.pm
in lib/UR/Namespace/Command/Old/DiffRewrite.pm
in lib/UR/Namespace/Command/Old/DiffUpdate.pm
in lib/UR/Namespace/Command/Old/ExportDbicClasses.pm
in lib/UR/Namespace/Command/Old/Info.pm
in lib/UR/Namespace/Command/Old/Redescribe.pm
in lib/UR/Namespace/Command/RunsOnModulesInTree.pm
in lib/UR/Namespace/Command/Show.pm
in lib/UR/Namespace/Command/Show/Properties.pm
in lib/UR/Namespace/Command/Show/Schema.pm
in lib/UR/Namespace/Command/Show/Subclasses.pm
in lib/UR/Namespace/Command/Sys.pm
in lib/UR/Namespace/Command/Sys/ClassBrowser.pm
in lib/UR/Namespace/Command/Test.pm
in lib/UR/Namespace/Command/Test/Callcount.pm
in lib/UR/Namespace/Command/Test/Callcount/List.pm
in lib/UR/Namespace/Command/Test/Compile.pm
in lib/UR/Namespace/Command/Test/Eval.pm
in lib/UR/Namespace/Command/Test/TrackObjectRelease.pm
in lib/UR/Namespace/Command/Test/Use.pm
in lib/UR/Namespace/Command/Test/Window.pm
in lib/UR/Namespace/Command/Test/Window.pm
in lib/UR/Namespace/Command/Update.pm
in lib/UR/Namespace/Command/Update/ClassDiagram.pm
in lib/UR/Namespace/Command/Update/ClassesFromDb.pm
in lib/UR/Namespace/Command/Update/Doc.pm
in lib/UR/Namespace/Command/Update/Pod.pm
in lib/UR/Namespace/Command/Update/RenameClass.pm
in lib/UR/Namespace/Command/Update/RewriteClassHeader.pm
in lib/UR/Namespace/Command/Update/SchemaDiagram.pm
in lib/UR/Namespace/Command/Update/TabCompletionSpec.pm
in lib/UR/ObjectDeprecated.pm
in lib/UR/Object/Accessorized.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Join.pm
in lib/UR/Object/Set.pm
in lib/UR/Object/Set/View/Default/Html.pm
in lib/UR/Object/Set/View/Default/Json.pm
in lib/UR/Object/Set/View/Default/Text.pm
in lib/UR/Object/Set/View/Default/Xml.pm
in lib/UR/Object/Type/AccessorWriter.pm
in lib/UR/Object/Type/Initializer.pm
in lib/UR/Object/Type/InternalAPI.pm
in lib/UR/Object/Type/ModuleWriter.pm
in lib/UR/Object/Type/View/AvailableViews/Json.pm
in lib/UR/Object/Type/View/AvailableViews/Xml.pm
in lib/UR/Object/Value.pm
in lib/UR/Object/View/Default/Json.pm
in lib/UR/Object/View/Lister/Text.pm
in lib/UR/Service/RPC/TcpConnectionListener.pm
in lib/UR/Service/WebServer/Server.pm
in lib/UR/Test.pm
in lib/UR/Util/ArrayRefIterator.pm
in lib/UR/Value.pm
in lib/UR/Value/ARRAY.pm
in lib/UR/Value/Blob.pm
in lib/UR/Value/Boolean.pm
in lib/UR/Value/Boolean/View/Default/Text.pm
in lib/UR/Value/CODE.pm
in lib/UR/Value/CSV.pm
in lib/UR/Value/DateTime.pm
in lib/UR/Value/Decimal.pm
in lib/UR/Value/DirectoryPath.pm
in lib/UR/Value/FOF.pm
in lib/UR/Value/FilePath.pm
in lib/UR/Value/FilesystemPath.pm
in lib/UR/Value/Float.pm
in lib/UR/Value/GLOB.pm
in lib/UR/Value/HASH.pm
in lib/UR/Value/Integer.pm
in lib/UR/Value/Iterator.pm
in lib/UR/Value/JSON.pm
in lib/UR/Value/Number.pm
in lib/UR/Value/PerlReference.pm
in lib/UR/Value/REF.pm
in lib/UR/Value/SCALAR.pm
in lib/UR/Value/Set.pm
in lib/UR/Value/SloppyPrimitive.pm
in lib/UR/Value/String.pm
in lib/UR/Value/Text.pm
in lib/UR/Value/Timestamp.pm
in lib/UR/Value.pm
in lib/UR/Value/URL.pm
in lib/UR/Value/View/Default/Html.pm
in lib/UR/Value/View/Default/Json.pm
in lib/UR/Value/View/Default/Text.pm
in lib/UR/Value/View/Default/Xml.pm
in lib/UR/Vocabulary.pm
in lib/UR/Object/Type/Initializer.pm