Satchmo Documentation Release 0.9.3-Dev Chris Moffitt July23,2015 Contents 1 Overview 3 1.1 SatchmoIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 AboutthisProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 SatchmoFeatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 DirectoryStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Installation 11 2.1 QuickStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4 BasicConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 StoreUsage 29 3.1 Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Discounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3 Pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4 Tax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.5 Shipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.6 Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.7 PaymentModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.8 EmailVerification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4 ModifyingAStore 51 4.1 StoreCustomization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2 CustomizingAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.3 CustomPaymentModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.4 CustomProductAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.5 CustomProductModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.6 TranslatingContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.7 SatchmoTemplates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.8 SatchmoTemplateFiltersandTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.9 SatchmoViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.10 SignalsinSatchmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5 OptionalModules 91 5.1 GoogleBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2 Upsell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 i 6 Tutorials 95 6.1 AddingaProducttoYourStore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7 DeployingAStore 105 7.1 DeployingAStore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.2 ManagingYourStore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 8 AdditionalNotes 107 8.1 SatchmoDevelopmentBranch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 8.2 Satchmo0.9.2Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.3 SatchmoRelease0.9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 8.4 Satchmo0.9Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.5 Satchmo0.8.1Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8.6 Satchmo0.8Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 8.7 Satchmo0.7Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 8.8 SatchmoMigrationsandUpgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 ii SatchmoDocumentation,Release0.9.3-Dev SatchmoisaneCommerceframeworkcreatedinDjangowhichallowsyoutodevelopuniqueandrobustonlinestores. Contents 1 SatchmoDocumentation,Release0.9.3-Dev 2 Contents 1 CHAPTER Overview 1.1 Satchmo Introduction 1.1.1 History LikemostOpenSourceprojects,Satchmowasstartedto“scratchanitch.” Thisparticularitchwastocreateaframe- workfordevelopingapythonbasedshoppingcartframeworksoftwareusingDjango. Afteralittlebitofdiscussion ontheDjangolist,wecreatedourownprojectinApril2006. InAugust2007,wereleasedthefirstpublicreleaseofSatchmo-version0.5. Wehavehadseveralreleasessincethen andarecontinuallyimprovingthefeaturesandfunctionsincludedinSatchmo. 1.1.2 Project Mission Satchmo’smissionistouseDjangotocreateanopensourceframeworkforcreatinguniqueandrobustonlinestores. Toprovidemaximumflexibility,SatchmoislicensedundertheBSDlicense. 1.1.3 Current Development Status With the release of version 0.5, Satchmo entered beta status. The most recent release is 0.9.2 and includes many improvementsandfixesover0.9.1. Allusersareencouragedtousethislatestversion. 1.2 About this Project This project was started by a group of individuals that were interested in using the Django framework to create a robustshoppingcartsolution. Aftersomediscussions,wehavedecidedtofocusonbuildingamodularframeworkof shoppingcartoreCommercepackagesthatcanbeeasilyputtogethertoformafullstore. WhydidweuseDjangofor thisparticularproject? Firstoff,wewantedtousePythonfortheproject. ManyofushaveexperiencewithsimilarPHPbasedprojectsand wequicklyrealizedthattheytendtobreakdownprettyquicklyundertheunwieldysyntax,lackofgoodOOsupport andhackishnatureofmanyoftheprojects. Once we decided on Python, there were many frameworks to evaluate. They all have tradeoffs but there are some thingswereallylikedaboutDjango: • Robust,scalablesystemthathasbeenusedonmajorcommercialsites 3 SatchmoDocumentation,Release0.9.3-Dev • Cleanseparationofprogramlogicfrompresentation • NiceabstractionofSQL(butwiththecapabilitytocodeSQLifrequired) • Soliddocumentation • URLmappingcapabilitieswillbeveryusefulforashoppingcartsolution • Outoftheboxadmincapabilitiesmakingiteasytogetupandrunning&provideenhancedsecurityformultiple usersinastore. Thislistisnotexhaustiveandtherecouldbeendlessdebateandflamewarsonthechoicesbutwe’veallreachedthis decisionindependentlyandencourageyoutoinvestigateandmakeyourownchoice. 1.2.1 Why build a shopping cart framework? Interestinglyenough,thereseemstobeafairlylargenumberof“geeks”whoareinvolvedincreatingwebstoresfor theirwivesorsignificantothers. Forvariousreasonsmentionedabove,weindependentlystartedusingDjango. Itjust happensthatthere’sthepossibilityforalotofsynergyhere. LikemostOpenSourceprojects,wecreatedthisproject becausewethoughttherewasanunmetneedforourselvesaswellasthelargeraudience. Manyofthecurrentshoppingcartsouttherewerebuiltawhileagoandhavenotagedtoogracefully. Theyalsodid nothavethebenefitsoftheDjangoframework. LookingattheDjangoframework, werealizedthatwithjustalittle bitofadditionalworkwecouldhaveaprettypowerfulshoppingcartsystem. We initially thought about developing a full fledged shopping cart but realized that it is very difficult to build a one sizefitsallshoppingcartpackage. Somepeoplewantaverysimplesolutionandareconfusedbythemultipleoptions andconfigurationsavailabletothem. Otherpeoplehavethetechnicalcapabilitiestobuildsomethingveryrobustand tailoredtotheirneeds. InasimilarwaythatDjango“getsoutofyourway”andallowsyoutofocusonthemodelsand rulesforyourapplication,wewanttobuildaframeworkthatmakesittrivialtosetupasimpleshopandrelativelyeasy tomodifyitandgrowasyourbusinessneedschange. 1.2.2 What license are you using? WehavedecidedtousetheBSDlicenseforthisproject. Youcanlearnmoreaboutithere. 1.3 Satchmo Features 1.3.1 Current Features Satchmostrivestobeextremelyflexible. • AlldisplayitemsaredrivenbytemplatesusingthepowerfulDjangotemplatinglanguage • Allurlscanbecustomconfiguredtoyourdesirednamingconvention • Thecheckoutprocesscanbetailoredtoyourspecificneeds Satchmosupportmanypaymentmodulesincluding: • Authorize.net • Trustcommerce • Googlecheckout • Cybersource 4 Chapter1. Overview SatchmoDocumentation,Release0.9.3-Dev • Paypal • Protx • Sermepa • Purchaseorders Satchmohasflexibleshippingoptionsandallowsyoutocreateyourown. Satchmoincludes: • UPSintegration • Fedexintegration • USPSintegration • CanadaPostintegration • Flatrateshipping • Multi-tieredshippingbasedonquantityorprice • Peritemshippingcost Satchmo’shasrobustsupportformultipleproducttypesincluding: • Downloadableproducts • Subscriptionproducts • Customconfiguredproducts • Productvariants • Giftcertificates Allproductsofferyoutheopportunitytohave: • Asmanyimagesperproductasyouwouldlike • Automaticthumbnailcreationfortheimages • Unlimitedcategoriesandsubcategories • Supportformultiplepricinganddiscountingtiersbasedonvolume • Supportfortiered/grouppricing • InventorytrackingincludingSKU’sandpreventingusersfromorderingoutofstockitems • MetadatasupportforSEO • Featureditems • Taxtables • Relatedproducts • Mostpopularproducts • Arbitraryattributes • Multipletranslationsperproduct • Flexiblevariantcreation(shirtswithsizesandcolors)includingpricechangesforcombinations • Allowusertocommentandrateproducts • Commentssupportakismetspamtagging • Supportforbrands 1.3. SatchmoFeatures 5 SatchmoDocumentation,Release0.9.3-Dev Thecustomermodelallowsyouto: • Havemultipleshiptoandbilltoaddresses • Vieworderhistory • Updateaccountprofileonline • Resetuserpasswords • Requireemailverificationforaccountcreation Satchmosupportsdiscountcodeswhichallowyouto: • Setamountofpercentagediscounts • Limitthenumberofuses • Allowfreeshipping • Setstartandenddates • Limittocertainproducts SatchmoincludesextensiveInternationalizationandtranslationsupport: • Multipletranslationsareincluded: – French – German – Italian – Spanish – Swedish – Bulgarian – Portuguese – Korean – Hebrew – Turkish • Fullcountryspecificinformation • Translationsupportforallproductsandcategories • Supportfordateandcurrencyformatingbasedonlocale Satchmotakessecurityseriously: • Djangoprovidesbuiltinsupporttopreventmanycommonattackssuchas: – SQLinjection – AutomaticHTMLescapingtopreventcross-sitescripting – Sessionforging/hijacking • Satchmoencryptsallcreditcardinformation • Satchmoallowsyoutochooseifcreditcarddataisstored • Satchmodoesnotstoreccvdatainthedatabase • Finegrainedsslsupportforasmanyorasfewurlsasyouneed 6 Chapter1. Overview
Description: