[ic] Shipping Survey

William Carr bill at bottlenose-wine.com
Wed Oct 16 18:43:29 UTC 2013


On Oct 16, 2013, at 2:30 PM, Andrew Baerg <andrew.baerg at gmail.com> wrote:

> On Wed, Oct 16, 2013 at 2:14 AM, Stefan Hornburg (Racke) <racke at linuxia.de> wrote:
> 
> In general, it would make sense to have a generic shipping ecosystem for
> Perl + Interchange. But I'm sure there are a few things which can be discussed
> resp. enhanced in Shipment, e.g.:
> 
> * use a better way to address the services instead of ->ups, ->...
> 
> I had actually not intended the Shipment module to be used directly. I have to confess that this is my first module published to CPAN. I had asked for help to get it published and this was one of the things that someone else did for me. There are definitely some areas where I could use some mentorship from a Perl guru to steer me in the right direction. :)
> 
> One of the main goals was to provide a consistent interface to the various shipping services so that you could do the following regardless of which service provider you were using:
> 
> my $shipment = Shipment::XYZ->new(
>     from_address => Shipment::Address->new( ... ),
>     to_address => Shipment::Address->new( ... ),
>     packages => [ Shipment::Package->new( ... ), ],
>   );
> 
> $shipment->ship('ground');
> $shipment->get_package(0)->label->save;
I'm glad this came up. I was just working on this today.

What to we do when different carriers offer different services that will not fit into our predefined, generic services?

I think in the example above we will have to assume each carrier offers essentially the same services which may not be the case.

In interchange we usually do something like:

UserTag ship_cost
blah, blah, bah

shipping.asc:
f [ship_cost mode=GROUND_HOME_DELIVERY]

Today I messed around with an approach like so:
shipping.asc:
f [ship_cost carrier=FexEx service=ground]

In my first example we have to assume each carrier's service (or mode) has a unique name of pass in a carrier parameter.

In the later example we'd have to limit the generic services to the once provided by all the carriers used.

> 
>  
> * use Moo instead Moose
> 
> I'm sure this would be fairly straightforward to do.
>  
> * allow other authors to write Shipment::XYZ
> 
> Again, I think this was a consequence of how the module was published. I did not intend to publish Shipment, but I am not clear on how to make Shipment behave the same as say WebService on CPAN. Could you help me out with this?
> 
> As far as contributing to Shipment, anyone can fork it on github and I would absolutely welcome help in maintaining the distribution! https://github.com/pullingshots/Shipment
>  
> 
> We would of course love to see you on the conference next year.
> 
> Looking forward to it!
> 
> 
> Andrew
> _______________________________________________
> interchange-users mailing list
> interchange-users at icdevgroup.org
> http://www.icdevgroup.org/mailman/listinfo/interchange-users

 
Bill Carr, President at Bottlenose
(413) 584-0400 
http://www.bottlenose-wine.com 
 Download vCard

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.icdevgroup.org/pipermail/interchange-users/attachments/20131016/0945387a/attachment.html>


More information about the interchange-users mailing list