#540 ✓not-applicable
Mark Bates

Property mappings for multiple repositories doesn't work

Reported by Mark Bates | August 22nd, 2008 @ 12:12 PM

If you are trying to map to multiple repositories in a single model, the default repository works fine, but If you call the other repo it tries to look up ALL the columns mapped for the model, not just the ones for that repository.


class Passport
  include DataMapper::Resource

  storage_names[:hls] = "tbl_pssptz"

  property :id, Integer, :key => true
  property :country_code, String, :nullable => false
  property :expiration_date, Date, :nullable => false

  repository(:hls) do
    property :id, String, :size => 11, :key => true, :field => "pid"
    property :person_id, Integer, :field => "peopleid"
    property :country_code, Integer
    property :expiration_date, Date, :field => "expdate"
  end

end

#--
repository(:hls) { puts Passport.all }
DEBUG:  [2008-08-21 21:26:52]  SELECT `id`, `country_code`, `expiration_date`, `id`, `person_id`, `country_code`, `expiration_date` FROM `tbl_pssptz` ORDER BY `id`
DEBUG:  [2008-08-21 21:26:52]  Unknown column 'id' in 'field list' (mysql_error_code=0001)
DEBUG:  [2008-08-21 21:26:52]  #<DataObjects::Mysql::Connection:0x2626784 @using_socket=false, @__allocated_in_pool=Thu Aug 21 21:26:52 -0400 2008, @concrete_command=DataObjects::Mysql::Command, @__pool=#<Extlib::Pooling::Pool<DataObjects::Mysql::Connection> available=0 reserved_count=1>, @connection=#<Object:0x2626658>, @uri=#<Addressable::URI:0x12628ce URI:mysql://root@localhost/hls_db>>

Comments and changes to this ticket

  • Bernerd Schaefer

    Bernerd Schaefer August 22nd, 2008 @ 01:34 PM

    • State changed from “new” to “resolved”

    Okay. This is fixed now on edge (6278e45). Thanks for finding this.

  • Mark Bates

    Mark Bates August 22nd, 2008 @ 01:42 PM

    Close, very close, but it's still trying to order by the non-existent 'id' column instead of the 'pid' column, which is the key.

    
    SELECT "pid", "country_code", "expdate", "peopleid" FROM "tbl_pssptz" ORDER BY "id"
    
  • Mark Bates

    Mark Bates September 7th, 2008 @ 11:06 AM

    This ticket needs to be reopened as it's still not working right. See my last entry for details.

  • Mark Bates

    Mark Bates September 7th, 2008 @ 11:11 AM

    There are other issues with this as well. I have the following two models:

    
    class Passport
      include DataMapper::Resource
    
      storage_names[:hls] = "tbl_pssptz"
    
      repository(:default) do
        property :id, Integer, :key => true
        property :country_code, String, :nullable => false
        property :expiration_date, Date, :nullable => false
    
        belongs_to :passenger
      end
    
      repository(:hls) do
        property :id, String, :size => 11, :key => true
        property :passenger_id, Integer, :field => "peopleid"
        property :country_id, Integer, :field => "country_code"
        property :expiration_date, Date, :field => "expdate"
    
        belongs_to :country
        belongs_to :passenger
      end
    
    end
    
    class Passenger
      include DataMapper::Resource
    
      storage_names[:hls] = "tbl_people"
    
      repository(:default) do
        property :id, Serial
        property :first_name, String
        property :last_name, String
        property :notes, Text, :nullable => true, :lazy => false
    
        has 1, :passport
    
        has n, :tickets
        has n, :flights, :through => :tickets
        has n, :bookings, :through => :tickets
      end
    
      repository(:hls) do
        property :full_name, LegacyName, :field => "name_ENC"
        property :eye_color, String, :nullable => true, :lazy => :looks
        property :weight, Integer, :nullable => true, :lazy => :looks
        property :notes, Text, :nullable => true, :lazy => :all
        property :notes_2, Text, :nullable => true, :lazy => [:all, :extras]
        property :notes_3, Text, :nullable => true, :lazy => [:all, :extras]
      end
    
    end
    

    If I make a call like this:

    
    repository(:hls) {puts Passport.first.passenger.inspect}
    

    I expect to get back the Passenger associated with the Passport. Because this is all wrapped in a repo block I would expect them to get called from the hls dbs. Instead I get these sql queries, followed by an error:

    
    DEBUG:	[2008-09-07 12:05:07]	SELECT `id`, `country_code`, `expdate`, `peopleid`, `country_code` FROM `tbl_pssptz` ORDER BY `id` LIMIT 1
    DEBUG:	[2008-09-07 12:05:07]	SELECT `id`, `first_name`, `last_name`, `name_ENC` FROM `tbl_people` WHERE `id` IN (1) ORDER BY `id`
    DEBUG:	[2008-09-07 12:05:07]	Unknown column 'first_name' in 'field list' (mysql_error_code=0001)
    DEBUG:	[2008-09-07 12:05:07]	#<DataObjects::Mysql::Connection:0x2275810 @concrete_command=DataObjects::Mysql::Command, @__pool=#<Extlib::Pooling::Pool<DataObjects::Mysql::Connection> available=0 reserved_count=1>, @uri=#<Addressable::URI:0x11541d0 URI:mysql://root@localhost/hls_db>, @connection=#<Object:0x22756e4>, @__allocated_in_pool=Sun Sep 07 12:05:07 -0400 2008, @using_socket=false>
    ERROR:	[2008-09-07 12:05:07]	Caught MysqlError: Unknown column 'first_name' in 'field list' (mysql_error_code=0001)
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:45:in `execute_reader'
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:45:in `read_many'
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:168:in `with_connection'
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:40:in `read_many'
    	/usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.5/lib/extlib/lazy_array.rb:89:in `[]'
    	/usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.5/lib/extlib/lazy_array.rb:89:in `lazy_load'
    	/usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.5/lib/extlib/lazy_array.rb:23:in `empty?'
    MysqlError: Unknown column 'first_name' in 'field list' (mysql_error_code=0001)
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:45:in `execute_reader'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:45:in `read_many'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:168:in `with_connection'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/adapters/data_objects_adapter.rb:40:in `read_many'
    	from /usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.5/lib/extlib/lazy_array.rb:89:in `[]'
    	from /usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.5/lib/extlib/lazy_array.rb:89:in `lazy_load'
    	from /usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.5/lib/extlib/lazy_array.rb:23:in `empty?'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/associations/relationship.rb:149:in `get_parent'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/repository.rb:44:in `scope'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core.rb:190:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/support/kernel.rb:5:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/associations/relationship.rb:168:in `with_repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/associations/relationship.rb:131:in `get_parent'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/associations/many_to_one.rb:98:in `parent'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/associations/many_to_one.rb:102:in `method_missing'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/associations/many_to_one.rb:17:in `passenger'
    	from (irb):1
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/repository.rb:44:in `scope'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core.rb:190:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.5/lib/dm-core/support/kernel.rb:5:in `repository'
    
  • Adam French

    Adam French September 7th, 2008 @ 11:44 AM

    • State changed from “resolved” to “open”
  • Bernerd Schaefer

    Bernerd Schaefer September 11th, 2008 @ 09:58 AM

    Mark -- Just wanted to let you know I'm taking a look at this one again today.

  • Mark Bates
  • Bernerd Schaefer

    Bernerd Schaefer September 11th, 2008 @ 12:03 PM

    Okay, Mark. I think I've fixed this.

    Take a look at http://github.com/sam/dm-core/co..., and give it a spin, please.

    Bernerd

  • Mark Bates

    Mark Bates September 13th, 2008 @ 08:30 PM

    Sorry Bernerd, it doesn't seem to work, i'm still getting the same errors:

    
    repository(:hls) {puts Passport.first.passenger.inspect}
    DEBUG:	[2008-09-13 21:28:34]	SELECT `id`, `country_code`, `expdate`, `peopleid`, `country_code` FROM `tbl_pssptz` ORDER BY `id` LIMIT 1
    DEBUG:	[2008-09-13 21:28:34]	SELECT `id`, `first_name`, `last_name`, `name_ENC` FROM `tbl_people` WHERE (`id` IN (1)) ORDER BY `id`
    DEBUG:	[2008-09-13 21:28:34]	Unknown column 'first_name' in 'field list' (mysql_error_code=0001)
    DEBUG:	[2008-09-13 21:28:34]	#<DataObjects::Mysql::Connection:0x2294468 @concrete_command=DataObjects::Mysql::Command, @__allocated_in_pool=Sat Sep 13 21:28:34 -0400 2008, @__pool=#<Extlib::Pooling::Pool<DataObjects::Mysql::Connection> available=0 used=1 size=8>, @uri=#<struct DataObjects::URI scheme="mysql", user="root", password=nil, host="localhost", port=nil, specified_port=nil, path="/hls_db", query=nil, fragment=nil>, @connection=#<Object:0x2294378>, @using_socket=false>
    ERROR:	[2008-09-13 21:28:34]	Caught MysqlError: Unknown column 'first_name' in 'field list' (mysql_error_code=0001)
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:48:in `execute_reader'
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:48:in `read_many'
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:171:in `with_connection'
    	/usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:40:in `read_many'
    	/usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.7/lib/extlib/lazy_array.rb:89:in `[]'
    	/usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.7/lib/extlib/lazy_array.rb:89:in `lazy_load'
    	/usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.7/lib/extlib/lazy_array.rb:23:in `empty?'
    MysqlError: Unknown column 'first_name' in 'field list' (mysql_error_code=0001)
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:48:in `execute_reader'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:48:in `read_many'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:171:in `with_connection'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/adapters/data_objects_adapter.rb:40:in `read_many'
    	from /usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.7/lib/extlib/lazy_array.rb:89:in `[]'
    	from /usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.7/lib/extlib/lazy_array.rb:89:in `lazy_load'
    	from /usr/local/lib/ruby/gems/1.8/gems/extlib-0.9.7/lib/extlib/lazy_array.rb:23:in `empty?'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/relationship.rb:149:in `get_parent'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/repository.rb:44:in `scope'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core.rb:191:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/support/kernel.rb:5:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/relationship.rb:167:in `with_repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/relationship.rb:131:in `get_parent'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/many_to_one.rb:98:in `parent'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/many_to_one.rb:102:in `method_missing'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/associations/many_to_one.rb:17:in `passenger'
    	from (irb):1
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/repository.rb:44:in `scope'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core.rb:191:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/support/kernel.rb:5:in `repository'
    	from (irb):1
    
  • Mark Bates

    Mark Bates September 18th, 2008 @ 09:07 PM

    • Tag changed from bug, dm-core to bug, dm-core

    So I've taken Bernerd's suggestion and used properties(:hls).clear before I define my properties, and that seems to have helped, somewhat. Now, I'm getting new fun errors.

    First, my model:

    
    class Passenger
      include DataMapper::Resource
    
      storage_names[:hls] = "tbl_people"
    
      property :id, Serial
      property :first_name, String
      property :last_name, String
      property :notes, Text, :nullable => true, :lazy => false
    
      validates_present :first_name
      validates_present :last_name
    
      has 1, :passport
    
      has n, :tickets
      has n, :flights, :through => :tickets
      has n, :bookings, :through => :tickets
    
      repository(:hls) do
        properties(:hls).clear
        property :id, Serial
        property :full_name, LegacyName, :field => "name_ENC"
        property :eye_color, String, :nullable => true, :field => 'eyeColor', :lazy => :looks
        property :weight, Integer, :nullable => true, :lazy => :looks
        property :notes, Text, :nullable => true, :lazy => :all
        property :notes_2, Text, :nullable => true, :lazy => [:all, :extras]
        property :notes_3, Text, :nullable => true, :lazy => [:all, :extras]
      end
    
    end
    

    Now, the line I'm trying to execute:

    
    p = Passenger.create(:first_name => 'Mark', :last_name => 'Bates')
    

    Note, I'm not calling anything in a repo block, so this is happening on my 'default' repo.

    Now my error:

    
    ArgumentError: Unknown property 'eye_color'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/resource.rb:106:in `attribute_get'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/model.rb:399:in `eye_color'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:118:in `send'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:118:in `validation_property_value'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/length_validator.rb:27:in `call'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/contextual_validators.rb:48:in `execute'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/contextual_validators.rb:46:in `each'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/contextual_validators.rb:46:in `execute'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:88:in `valid?'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:42:in `create'
    	from (irb):3
    

    A different issue, but related, if I try to update a Passenger I got from a repository(:hls) block, update a parameter, and try to save it, nothing happens. It says the save was 'true', but nothing actually gets written back to the db:

    
    repository(:hls) {puts @pass = Passport.first}
    DEBUG:	[2008-09-18 22:01:54]	SELECT `id`, `country_code`, `expdate`, `peopleid`, `country_code` FROM `tbl_pssptz` ORDER BY `id` LIMIT 1
    #<Passport:0x24cfbec>
    => nil
    >> repository(:hls) {puts @passport = Passport.first}
    DEBUG:	[2008-09-18 22:02:17]	SELECT `id`, `country_code`, `expdate`, `peopleid`, `country_code` FROM `tbl_pssptz` ORDER BY `id` LIMIT 1
    #<Passport:0x273f29c>
    => nil
    >> @passenger = @passport.passenger
    DEBUG:	[2008-09-18 22:02:25]	SELECT `id`, `name_ENC` FROM `tbl_people` WHERE (`id` IN (1)) ORDER BY `id`
    => #<Passenger id=1 full_name=#<Name:0x271599c @last_name="smith", @first_name="bob"> eye_color=<not loaded> weight=<not loaded> notes=<not loaded> notes_2=<not loaded> notes_3=<not loaded>>
    >> @passenger.eye_color
    DEBUG:	[2008-09-18 22:02:35]	SELECT `eyeColor`, `weight`, `id` FROM `tbl_people` WHERE (`id` IN (1)) ORDER BY `id`
    => "Hazel"
    >> @passenger.eye_color = 'Blue'
    => "Blue"
    >> @passenger.save
    => true
    >> repository(:hls) {puts Passenger.get(1).eye_color}
    DEBUG:	[2008-09-18 22:03:17]	SELECT `id`, `name_ENC` FROM `tbl_people` WHERE (`id` = 1) ORDER BY `id` LIMIT 1
    DEBUG:	[2008-09-18 22:03:17]	SELECT `eyeColor`, `weight`, `id` FROM `tbl_people` WHERE (`id` = 1) ORDER BY `id`
    Hazel
    

    And, just because I know you'd ask. If I wrap the whole thing in a repo block, I actually get a different type of error:

    
    >> repository(:hls) do
    ?>     p = Passenger.get(1)
    >>     puts p.eye_color
    >>     p.eye_color = 'Blue'
    >>     p.save
    >>     p = Passenger.get(1)
    >>     puts p.eye_color
    >>   end
    DEBUG:	[2008-09-18 22:06:38]	SELECT `id`, `name_ENC` FROM `tbl_people` WHERE (`id` = 1) ORDER BY `id` LIMIT 1
    DEBUG:	[2008-09-18 22:06:38]	SELECT `eyeColor`, `weight`, `id` FROM `tbl_people` WHERE (`id` = 1) ORDER BY `id`
    Hazel
    ArgumentError: Unknown property 'first_name'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/resource.rb:106:in `attribute_get'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/model.rb:399:in `first_name'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:118:in `send'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:118:in `validation_property_value'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/length_validator.rb:27:in `call'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/contextual_validators.rb:48:in `execute'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/contextual_validators.rb:46:in `each'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations/contextual_validators.rb:46:in `execute'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:88:in `valid?'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-validations-0.9.6/lib/dm-validations.rb:61:in `save'
    	from (irb):16
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/support/kernel.rb:6:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core.rb:181:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/repository.rb:44:in `scope'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core.rb:181:in `repository'
    	from /usr/local/lib/ruby/gems/1.8/gems/dm-core-0.9.6/lib/dm-core/support/kernel.rb:6:in `repository'
    

    Any suggestions? This is the latest and greatest DM out there. Thanks.

  • Dan Kubb (dkubb)

    Dan Kubb (dkubb) January 8th, 2009 @ 02:21 PM

    • State changed from “open” to “unconfirmed”
    • Assigned user cleared.
  • Dan Kubb (dkubb)

    Dan Kubb (dkubb) February 1st, 2009 @ 03:02 PM

    • State changed from “unconfirmed” to “hold”

    Mark, can you see if the dm-core next branch fixes this problem for you?

  • Dan Kubb (dkubb)

    Dan Kubb (dkubb) February 21st, 2009 @ 05:36 AM

    • State changed from “hold” to “not-applicable”

    There has been no reply to this ticket, closing for now.

    @Mark: If this is still a problem please reply to this ticket with a stand-alone script that reproduces the problem and I will reopen this.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

People watching this ticket

Tags

Pages