NB Store and multi portals

Jun 29, 2009 at 8:44 PM

I have a brick and mortar store. I want to setup branded portals for clients that cannot afford to have a store of their own but would benefit from having the ability to sell directly to their clientele. For example, a user car dealer may not have a garage on site, but would like to sell windshield wipers, floor mats etc. Something like cafepress.com is pretty close to the idea.

Is there any foreseeable issues with doing this with NB Store?


Jun 30, 2009 at 8:03 AM


NB_Store does work independantly across portals (so sharing products could be an issue), I've had a look at cafepress.com and I'm a bit unsure of the architecture.

Is it the fact that you want to create an independant store for each seller or do you want to create a single database that when items are purchased from a certain supplier, the supplier of the product gets the email.  i.e. 1 shopping cart could have may suppliers, each of them getting the required order email for their products?

Also have you look at "Magento" ecommerce?  This is a php store, but it's top of the list for functionaity and it extenable.  It also has a community edition.  I find it a bit large and complicated for my clients, but it may do what you need out of the box.




Jun 30, 2009 at 3:59 PM

I would like to have one fully branded portal per client.  Each instance of a portal/nb Store will read from the same database (i.e the database contains the inventory for the store).  Clients should be able to select the products that they want to have in their portal and only those products should be visible in the clients Store.  Basically, the idea is to provide a service to clients to look, smell, and feel, like a retailer (or augment their existing business with another revenue stream) without having to go through all of the trouble.  The client gets to 'sell' products that they have selected and the client would get a percentage of the sale.  A bit like an affiliate program, but I do all of the heavy lifting.

I'm not sure if the requirement for the client to select what is visible in their store, and the ability for the client to get a percentage of the sale can be met with nb_store in its current form.   I'm a .NET developer by day so I have to skills to alter nb_Store but I'd rather not.  I could use your advice on these requirements; specifically the level of effort to add this functionality.

I've set up oscommerce in the past but it was painful for a guy coming from the Microsoft world.  I don't know if it's better these days.  The biggest stumbling block for me has been PHP itself.  Again, this was a while ago and apparently PHP5 was a big improvement but it still looks like PHP is still one or two versions away from matching .NET's OOP abilities.  The point being I think there is too much of a ramp up time for me, and it might be easier to just add the functionality I need to something like nb_store which is in a technology I'm already proficient in.  Also, I'm getting the impression that some of the other functionality that I'd like to have (not listed here) is unique and I may need to code it up myself.  Again, .NET is a better choice for me for this reason;  I can adapt to problems better.

However, I will take a look at Magento.  Nothing lost in taking a look.



Jun 30, 2009 at 4:25 PM

OK, I see what you mean. Nice.. and yes you'll have to get your hends dirty by doing some coding to make this happen in NB_Store.

Off the top of my head I would suggest.

1. create a option in the settings so a store can use the Master Product List (the product list the clients can slect from) set "on" it uses the master set "off" it uses it's own.

2. Create a system up get the list of master products into the NB_Store database, perhaps by using the NB_Store_Products tables, but making the PortalID = "-1" so it's not match any portals. (Products link to a normal portal will have the PortalID set to the correct number)

3. Create a crossreference table (PortalID and ProductID fields) this then is populated via the client product select form.

4. change the product select sql SPROCS to inner join on the new xref table (if the option for using the master product list is select)


Very basic Idea, with a lot of gaps, but I think it's a feasible task.

If you do decide to go ahead and update NB_Store to suit your purpose I'd be happy to look at your plans before you code and offer some advice.





Jun 30, 2009 at 5:18 PM

Yeah that sounds like a plan.  I've done something similar to this with documents and owners.  Thank you for your guidance and offer to review the changes.  Much appreciated.  Not catching a breaking change or hidden bug is my biggest fear with this kind of thing.  Don't want the women's lace underwear showing up in the Men's fitness portal :)

I'll take a look at the code and see what I think the integration points are and I'll send you an email.


p.s. I would be happy to donate (?) this functionality once it's complete.  Hopefully I've got the time to pull this off!

Jun 30, 2009 at 10:16 PM

Great, I'll look forward to hearing from you!

Jul 1, 2009 at 3:18 AM


I've downloaded the source code and extracted the files.  The NB_Store solution has a number of missing references and the NB_Store project in particular is missing a number of files.  Mostly .ascx files.  I noticed that the NB_Store_Resource.zip contains many of the missing files but it seems odd that the actual solution file for NB_Store is missing so many files.  Am I supposed to piece the solution back together from the files in NB_Store_Resource.zip or is there something up with the source zip?  I've dealt with the references to the DotNetNuke.Library files.



Jul 1, 2009 at 6:28 AM


The source package is simply the Install package with the source included as a zip,  The idea being install the source package as a normal DNN module, then manually extract the source zip "NB_Store_BackOffice_Source.zip" (NOT "NB_Store_Resource.zip", this is an install zip whcih is automatically extracted on module install).

Alternativly, And my prefered way is to download the source from SVN "Source tab on codeplex", be sure to pick the 1.1.6 stable.  Install the 1.1.6 install package. from the downloads tab, into DNN.  Extract the source into the module directory (desktopmodules/NB_Store).  Like you say, the refs will need to be put back in-line to your dev machine.