Hi On Oct 15, 2009, at 6:20 PM, Godshall <[email protected]> wrote:
> > Thanks for your reply, Izantal. The information you provided is very > helpful. Glad to hear that > Although we want users to be able to download purchased > products as many times as they need to, we will probably generate an > expiring link for each download to prevent links from being shared. We did the same thing. We created a simple dashboard for downloadable products where they could click to download for as many times they wanted to but each time the link was only alive for an hour. > However, could you clarify what you meant by a "sec link". I wasn't > sure if you meant "secure" or "secondary" or something entirely > different. Lol. Sorry I meant secure links. Anything uploaded to s3 is placed in a public bucket.We had to make it private so you had to know this secure link to access it. > Also, are you aware if any django/python apps were used > for S3 integration on your site? The main one I've seen is django- > storages (http://bitbucket.org/david/django-storages/overview/), which > is often coupled with boto (http://code.google.com/p/boto/). I used boto and the s3 python tools. Although recently I used boto and it matured a lot. > Thanks > again for your insight! Glad I could help. lzantal > On Oct 15, 5:30 pm, lzantal <[email protected]> wrote: >> Hi >> >> On Oct 15, 2009, at 3:09 PM, Godshall <[email protected]> >> wrote: >> >> >> >>> I had another question regarding Satchmo's downloadable products. >>> Is >>> it possible to serve these files from an external service like >>> Amazon >>> S3? >> >> Yes it is.And it's a natural fit:) >> >>> This site will have an indefinite number of downloadable >>> products, so utilizing a service like S3 would be ideal. Any >>> thoughts >>> on whether or not Satchmo and S3 would be a good fit? Has anyone >>> had >>> experience with this yet? Thanks. >> >> Actually this was my first time I heard of satchmo when I got >> contracted to integrate s3 upload and download with private and >> expiring links. >> As you can imagine I was not mainly involved with satchmo side so I >> can't give you a lot of inside there. >> Basicly whn you upload a file to s3 you get a link with it if it is >> public or you can generate sec link for it. >> Your product would store the sec direct link to this product and >> either your server fetch it for you or you can provide it as a direct >> download link. >> But with the later your user can download it as many times he wants >> it. >> Our system generated an expireing link to the product upon purchase >> and give that link to the user. >> I hope it helps. >> >> lzantal >> >> >> >> >> >>> On Oct 9, 10:31 am, Bob Waycott <[email protected]> wrote: >>>> These all sounds like business decisions on your end. >>>> You could always clean out inactive products every so often ... or >>>> move them >>>> via a script to some ProductArchive model that saves them for >>>> historical >>>> reasons. I'd probably go a route like that, honestly. Have a job >>>> that runs >>>> to dump the Product table to ProductArchive which is an exact copy >>>> of all >>>> Product fields, and only keep active Products around. >> >>>> But again, these are all business decisions for you to figure out >>>> first by >>>> asking yourself these questions, and then designing & developing >>>> the store >>>> to match. >> >>>> On Fri, Oct 9, 2009 at 12:54 PM, Godshall >>>> <[email protected]> wrote: >> >>>>> Bob, >> >>>>> Thanks for your reply. I want to use model inheritance for the >>>>> very >>>>> reason you mentioned, but I'm concerned it will become difficult >>>>> to >>>>> manage in the long run. It is likely that there will be thousands >>>>> of >>>>> products on the site, and thousands more that will never be >>>>> activated. What should happen to submissions that are never >>>>> activated? Is it important to keep a history of a user's >>>>> submissions, >>>>> or should I just delete the ones that are rejected? I realize >>>>> that >>>>> this is ultimately a design decision I will have to make, but I >>>>> would >>>>> like to know how other people would approach this. >> >>>>> Thanks for letting me bounce my ideas and questions off you! >> >>>>> On Oct 9, 5:54 am, Bob Waycott <[email protected]> wrote: >>>>>> Is there a reason you couldn't save yourself the duplicated >>>>>> data by >>>>>> inheriting Product, but setting is_active=False until the time >>>>>> that all >>>>>> requirements are met and it actually becomes a live downloadable >>>>>> product? >> >>>>>> On Fri, Oct 9, 2009 at 4:09 AM, Godshall >>>>>> <[email protected]> >>>>> wrote: >> >>>>>>> I'm developing a store that will offer user contributed >>>>>>> downloadable >>>>>>> products. I'm still very early in the process, but I have >>>>>>> satchmo >>>>>>> installed properly and I'm working through the source code and >>>>>>> documentation to figure out the best approach for this kind of >>>>>>> service >>>>>>> (without hacking the satchmo source hopefully). >> >>>>>>> Here is a general overview of how I envision this working: >>>>>>> 1. User submits content for review (needs to support multiple >>>>>>> file >>>>>>> uploads). >>>>>>> 2. Admin reviews the submission and either approves, rejects, >>>>>>> or >>>>>>> instructs the user what steps need to be taken for approval. >>>>>>> 3. If approved, the submission will be added as a Custom >>>>>>> Downloadable >>>>>>> Product , and files will be automatically added to a zip file. >>>>>>> 4. User content now available for purchase. >> >>>>>>> The two approaches I have seen for creating a custom product >>>>>>> include >>>>>>> (1) Inheriting the Product model ( >>>>> http://thisismedium.com/tech/satchmo- >>>>>>> diaries-part-one/) and (2) Establishing a OneToOne relationship >>>>>>> with >>>>>>> the Product model (http://www.satchmoproject.com/docs/svn/ >>>>>>> custom- >>>>>>> product.html). For a traditional store I would probably just >>>>>>> use >>>>>>> model inheritance, but seeing that not all user submitted >>>>>>> content will >>>>>>> become products for this project, the OneToOne relationship >>>>>>> seems to >>>>>>> make the most sense. Here's an example of how I think the >>>>>>> models >>>>>>> should look at this point: >> >>>>>>> class UserContent(models.Model): >>>>>>> name = models.CharField(max_length=255) >>>>>>> user = models.ForeignKey(User, >>>>>>> related_name='submitted_content') >>>>>>> short_description = models.TextField(max_length=200) >>>>>>> description = models.TextField() >>>>>>> #ill probably use a separate file attachment model >>>>>>> ... >>>>>>> from product.models import Product >> >>>>>>> #created when the UserContent object is approved >>>>>>> class UserDownloadableProduct(models.Model): >>>>>>> product = models.OneToOneField(Product, >>>>> verbose_name=_('Product'), >>>>>>> primary_key=True) >>>>>>> content = models.ForeignKey(UserContent) >>>>>>> file = FileField(_("File"), upload_to=_protected_dir) >>>>>>> #zip >>>>>>> file >>>>>>> ... >> >>>>>>> As you can see, even though not every UserContent object will >>>>>>> become a >>>>>>> UserDownloadableProduct, I have to collect some of the same data >>>>>>> as >>>>>>> the satchmo Product model (name, short_description, description, >>>>>>> etc) >>>>>>> so that I can eventually create a Product with that data for >>>>>>> those >>>>>>> that are approved. This is where the model inheritance approach >>>>>>> seems >>>>>>> to have an advantage (so that I'm not duplicating data), but >>>>>>> as I >>>>>>> described earlier, it seems like a bad idea to create a Product >>>>>>> for >>>>>>> every user submitted content (since some of them will be >>>>>>> rejected). >> >>>>>>> Anyways, I would appreciate some feedback about the direction >>>>>>> I'm >>>>>>> heading with this project. Am I taking the best approach for >>>>>>> creating >>>>>>> a custom downloadable product? For UserDownloadableProduct, >>>>>>> should I >>>>>>> just reuse most of the DownloadableProduct model code that is >>>>>>> packaged >>>>>>> with satchmo? Is there anything else I need to consider? Any >>>>>>> feedback or insight would be appreciated. >> >>>>>>> Thanks! > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Satchmo users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/satchmo-users?hl=en -~----------~----~----~----~------~----~------~--~---
