Forums Module

Topics: Customizing Orchard
Mar 16, 2011 at 11:14 AM

Hi, does anyone know if there is a forums module available?

Mar 16, 2011 at 1:12 PM

We all are looking forward to it. :-)

Mar 16, 2011 at 6:42 PM

It will be great to have this. I wish I can dev this myself but I am new to the dev game, originally in IT.

Coordinator
Mar 16, 2011 at 6:45 PM

Someone took a spot in the gallery for that but I don't know if they made any progress implementing it.

Mar 16, 2011 at 6:54 PM

Is there no way for at least the Orchard Team to ping the person (since noboy else seems to be able to) since they don't seems to be responding to any inquiries about it?

Coordinator
Mar 16, 2011 at 6:56 PM

I would but I don't see what we could do that you couldn't.

Mar 16, 2011 at 7:58 PM

I can't find anything pertaining to a forum module for Orchard to ping its listed author.

Mar 17, 2011 at 5:27 PM
Edited Mar 17, 2011 at 5:55 PM

Okay, since I am nowhere near what one would call an application developer, I did what i could to get other forum module developers interested in wrapping up a module for Orchard. Bertrand, it may help if you get in touch with them to perhaps guide them on how best to achieve this. Here is the thread where I invited them with the idea, it is an ASP.NET MVC2-based forum, so it should not be hard to get it into MVC3; http://nearforums.codeplex.com/discussions/250046

I think it is a great way to also help development for Orchard; if you can contribute code, do so, and if you can contribute initiative by getting developers who otherwise do not know the need, do so, there are just more than one way to support a cause. When i find a need I will also invite other developers at meetups that I know as I also continue to learn how to develop myself. Basically, simply spread the word. Cheers.

Mar 18, 2011 at 4:41 PM
Edited Mar 18, 2011 at 5:04 PM

I started working on a forum... I have it to the stage from memory that I can do the following:

- Create/edit/view forums

- Create/edit/view topics

- Create/edit/view posts

Essentially what I have is the very basic functionality and structure.

There is so much else required for a fully featured forum, i.e. User profile intergration, inline reply, signatures, swear filters etc the list just goes on.

If anyone would like to have a look at what I have done I will post the code.

Mar 18, 2011 at 4:47 PM

Sounds good. "Categories" is a feature not to leave out so that discusion categories can be created for different subject matters. I saw the lack of this feature in an open source forum application and it was not the least usable at all. Or is this what you have as "Topics"?

Mar 18, 2011 at 4:55 PM
Edited Mar 18, 2011 at 5:04 PM

When I started "I started working on..." that mean I started and that was as far as I got before I ran out of time to continue.

Hopfully someone pick up on creating a decent forum and follows it through.

Mar 18, 2011 at 4:58 PM

So I take it that you are no longer working on it or it has been abandoned? If that is the case, you can release the spot in the Gallery so someone else can take it and run with it because everyone seems to think someone is working on it.

Mar 18, 2011 at 5:03 PM

I don't have anything to do with the gallery. I was just creating a forum for a project I was working on but other features have taken priority. I'm not sure I'll get time to finish the forum off.

Mar 18, 2011 at 5:07 PM

Okay, so this is officially saying there is no forum module in the works for Orchard except of course if NearForums proceeds with their expressed interest in wrapping up their's for Orchard or someone else.

Mar 18, 2011 at 5:53 PM
What features can a built-from-scratch forum do that cannot be achieved by 'module-izing' an existing MVC forum? What's the demarcation between native apps or hosted apps?
Coordinator
Mar 18, 2011 at 6:53 PM

One thing I'd be careful about when building such a module is to factor out what is not specific to forums. For example, all the user management/profile, swear filters, categories/topics, etc. could be reused in other contexts.

Another thing to note is that even if the forum features are split out across multiple modules and features, there is a new 1.1 feature that enables modules to expose recipes on how to build the full system. For example, a forum module's recipe could be built to make sure that dependent modules get downloaded, installed and wired up as a single operation.

Mar 19, 2011 at 11:41 AM

I've created forums by creating custom content types for Category, CategoryThread, CategoryPost. And I place all the categories in a list of categories. Then the category type itself is a container and of course containable so it will go in a list too. CategoryThread is also a container/containable so that it can hold CategoryPosts and be added to a Category. So I use a module with some custom code to create the thread when a new post is created and a reply just creates a post in an existing thread. I use the Contrib.Profile module with an avatar to allow for displaying the user's avatar with the posts and linking back to their profile. The profile also has a field for if it is public or not. I also created a connections module that allows for connections to be made from any content type with the connections part to any type with a connections part. This way users can become friends (connected) and make a category as an interest (connected). I'm not able to share the code with anyone, but I hope it gives some ideas to what can be done. I just hope it will be fast enough when we put it into production on a couple Azure instances.

Apr 5, 2011 at 10:03 PM

Just looking to bump this question. Is active development occurring?

Apr 6, 2011 at 12:58 AM

themicster's approach sounds like the right one - composing from existing Orchard features and modules with as little forum-specific code as possible. Shame he can't share it :)

Some of the bits I'm working on will lead to this scenario pretty quickly anyway. Actually his Connections system sounds mostly identical to the Relations system I'm building (didn't see this thread before). So once I'd got that workable I was going to start looking at some common requirements, forums being one example, and make sure I had the right sort of hooks in there so anyone could compose something that advanced pretty much without leaving the Dashboard. The per-item and hierarchical permissions I mentioned elsewhere lend themselves naturally to a forum where you might for instance want different moderators in different subforums (as well as Private forums, pending workitem 17667...)

Apr 6, 2011 at 7:51 AM

I think I've found a way I can share this piece. I just need to separate out the forum code into a new module and I'll share it in hopes that the community can make new features and updates before I can.

Apr 6, 2011 at 10:48 AM

I'm interested to see how you've implemented Connections, like I say I've been doing something similar and it's ridiculous how many possibilities it opens up. Or is that the bit you can't share? ... I'm thinking it'd be good to have just one type of system like that, that other modules can then universally build on. My implementation is somewhat incomplete at the moment, so if you have something fully fleshed out I'd like to convert my other modules to use that instead.

Apr 6, 2011 at 8:42 PM

randompete, yes, thats the part I don't think I can share. We'll have to see as time goes on I may be able to convince them its for the best. I can tell you that its a mind bender for sure. You'll need to understand fully the 1-n and n-n tutorials. Keeping the different associations and how they work together in orchard in your mind long enough to get anything done was very difficult. The simplest solution possible is the best. I realized though that having too many connections per user or per content item could cause problems/slowness. So you'll want to limit the number of connections each item can have. I think I set my limit at 1k, we'll see how that actually works in the real world soon.

If I remember correctly, at first I had an extra record with association and IDs but in the end I don't think I actually needed it. So you could say its a hybrid n-n and 1-n. I'm having nightmares again just thinking about it. All its really doing is storing the content item ID of another content item with a connection part. So for instance the User ContentType you can add the ConnectionPart to then you are able to store the ContentItem.Id of the User in your User's ConnectionPartRecord, which creates a link between the two users, call it friends or whatever. Add the ConnectionPart to a forum topic and now users can store the ContentItem.Id of the forum topics. This causes something very cool to happen, now you can create links between other ContentItems as well, maybe between a review and a product. You could use containers/containable for a similar connection, but with this you can have n-n connections and give users or owners of the ContentItems they want to make links between the control to add/remove those associations.

Its actually quite simple, but arriving at that simplicity was a mental struggle. I hope this will help you get to that same place so we can all start sharing modules with an awareness of connections/links. I'd love to see this as a default feature probably disabled by default though.

Apr 7, 2011 at 12:03 AM

Ok ... interesting to hear how you did it. I already got something working and yes I felt it was the most simple solution that accounted for all possibilities, I guess I was lucky to hit on it pretty quickly.

Basically I've created a RelationPart. But you don't add this to your content items; instead you create a new custom content type and add it to that. The RelationPart settings let you define which other content types can be on the left or right side.

So as an example I create a content type called "FriendRelationship". I add the RelationPart to it. Now each FriendRelationship I create I can specify a left content Id and a right content Id to define the two ends of the relationship. So you don't need to add anything to your actual content types to define relationships, although I do have a part that can be added to a type purely for rendering relationships from that item.

The beauty of this system is that when I'm rendering related items, the RelationPart item is rendered first as the parent and I can use the name of the relationship as a template override. So I can customise templating, placement and anything shape-related per type of relationship. Additionally I can decorate my relation types with any parts or custom fields that I need to supply extra metadata about that connection.

Performance is definitely a consideration; but there is zero performance hit unless you actually start traversing the relationship graph by any means. I'm not imagining any situations where 1,000s of relationships would be in play at any one time but if you or anyone suggests any scenarios like this I'd like to be able to test scalability for that sort of case. As an example; a user could certainly have 1,000s of friends. But you want to page that data and only display about 20 or so on the screen at once. And that's a simple query on the RelationPart record thru a particular content type on the left content id, joining the right content id to users... all of which can be easily indexed in the database. So I'm not seeing any reason to limit the total number of relationships right now.

It seems to me this is a really simple system, it hasn't caused me any major headaches yet ... and there are some really sneaky things I can leverage in the whole Shapes system to do fairly ridiculous things.

Anyway for the forum system you could pretty much do it with my Relations module in its current state, however I realise it might require some refactoring for you to use the slightly different n-n model.

I'm still trying to work out exactly how to release the Relations module, it needs some more core functionality to be applicable to a lot of scenarios. I want to get some sort of demo page running but first I need to actually make my website look nice :)

Apr 7, 2011 at 1:53 AM

I have to iterate through all of them to do things, like perform other queries on other content items your friends or forum topics you're interested in. And because I don't have any other information with the connection, I don't know what type the Content.Id represents until I look at it, so to get just the user connections you have, you would have to filter through all the connections to see if the content type is User. Although this doesn't really matter much if you just make a list of IDs and query for a specific type where the id is contained in the list. So you would instead say give me all the Users where Id is in the list, and even though there are some other types of IDs in there it won't matter. So this makes my scalability concerns with mine minimal as well. The thing I like about mine is that its already loaded with the content items, no need for another query. I suppose your RelationPart for rendering takes care of that. I'm not sure what you mean with how you do shape related per type rendering, but that sounds awesome. I'm not sure if I could do the same or not, can you give an example?

Apr 7, 2011 at 12:28 PM

You don't actually need to know what type is on the other end - they're all content items. A User is just a content item. So you can perform a join to content items and pull what data you need out of there.

Since I define in the relationship what types are allowed, I *know* I'm only going to get users back if I've configured it that way.

Where a relationship allows multiple types it doesn't matter what type is coming back - I'm probably just pushing it to render and let shape displaying handle that.

Yes I do have to perform an additional query... But I don't quite see how your model performs n-n mapping, are you saying that you just store a list of Ids in a string field on the connection part? That would prevent any possibility of optimisation by DB join.

As a rendering example, let's use forums. So I have four content types: Forum, ForumPost, ForumToForum, ForumToPost.

So when I render a Forum we'll just get a Detail render with whatever parts and fields that forum has. Then it will render the relation groups. So first we render ForumToForum and the heading would be "Sub forums". The template override available for each sub forum would be "Forum.Summary-ForumToForum.cshtml". So we know in that template it's a forum summary but being displayed *as a sub forum*. Similarly the posts will render with template ForumPost.Summary-ForumToPost.cshtml. As opposed to in, say, a "Recent posts by this user" display where it'd just be an ordinary ForumPost.Summary.cshtml (or even a ForumPost.Summary-UserToPost.cshtml if I'd set up a relationship for this; but the CommonPart.Owner field is of course still there for simple applications like that)

It's kind of a bit hard to describe in words. I'm trying to get the system presentable, it's all a bit low-level at the moment, and set up some sort of demo project. Maybe forums would be a good candidate for this!

Apr 7, 2011 at 9:02 PM

That sounds like a great way to do it. I really like the way your doing it, seems like it has a lot of good things about it.

I don't keep the id's in a string, it is still a join, but orchard does it automatically when you add my ConnectionPart to a content type. When you load the ContentType it loads the Connections too. You could do some lazy loading too if you wanted to, but that would use more resources. Currently all the display of connections to different types is handled by a single cshtml. At least for the user side, theres obviously editor templates and stuff too, but having a connection to a user or a forum topic is rendered from the same cshtml. There really isn't a way to link between two types that are not a User without some more code since the rendering of the "Make a connection" link is only showed when you (the User logged in, with a ConnectionPart) views a content type that also contains the ConnectionPart. So with mine it is very limited in some sense that it does not allow you to setup how the connections work between types, but it has the advantage of being very simple, just add the part to any types you want to allow connections to/from. I suppose some settings could be added to restrict or change the relationships and how they interact.

Do you already have a forum module built or is that just hypothetical? With mine the forum module is really just a controller that handles creation of new items. Posting a new message creates a new Thread and the Thread's first MessagePost and ties the Thread to the Forum section, which are all defined content types in orchard. Creating a reply just adds a MessagePost to a Thread. Forums are containers and containable, Threads are containers and containable, MessagePosts are just containable. So theres nothing really new here just how its creating and linking the content types together in the controller.

I'm still working on a few things to get it ready to share. 

Apr 7, 2011 at 9:30 PM
Edited Apr 7, 2011 at 9:31 PM

I'm just wondering how you have n:n relationships if your ConnectionPart only stores an Id of one another item? Surely it's no different to container/containable where you are basically just storing a parent Id... or am I still missing something here?

Mine does end up being pretty much that simple anyway. You could create a single relation type and then instantly be able to connect any two content items with it. Additionally you can add the RelationsPart to any content type and it will then get UI to view and make connections from it (although the editing UI is still in progress there). I have other plans for how to make it ridiculously easy to create and edit relationships between items but I'll probably wait until I have a nice demo page to show off before I talk about that :)

No I haven't built a forum, it's just hypothetical. But yeah it would be really easy to just make those content types and relationships and customise the templates. Don't even need any UI explicitly for connection management in that scenario; a new post is just automatically connected to the forum or thread it's posted in. You could even have a checkbox list of forums to post in a la Codeplex; but personally I don't really like that, makes it harder to see new posts. Anyway since you sound like yours is nearly ready I'll probably build something else, I have other purposes I built it for anyway.

Apr 17, 2011 at 4:49 AM

Now that I think about it, I think your right. There must be another table. If I remember correctly, it is similar to the sponsor example in the orchard docs.

An update on sharing the forum code I have. Theres a bit of a problem. Currently the way I'm using it I wanted to have threads with urls like "forum/general/my-first-post". There are problems with this in core. The way I think the path constraints work would take up a ton of memory and cpu if there were a million threads. So I had to add my own exclusion in containersPathConstrainUpdater.cs and routeablePathConstraintUpdater.cs in core. I'm not sure how else I would prevent core from loading all the threads. Maybe this is a problem I don't need to worry about anymore. I'll need to take a look at how it works again to see if theres a better way around this without modifying core. I have my own ItemController.cs that will just query the database and let it decide if the path with forum/*/* is a thread.

The other thing that would work as a solution, but I don't need it myself, is to just remove the routable part from the threads and just use a content id. You know what I think I need to do here is make my own ForumRoutable part so routable part can be removed from threads but I retain the functionality I need. Does that sound like the right way to do it or does someone have a better idea?

Apr 19, 2011 at 12:15 AM

I think you might be right about the path constraints, I've noticed myself there are background tasks that essentially seem to be compiling a list of available routes.

So maybe just implementing your own Routes and Controllers is better for something like a forum where there could be lot of data. With Ids you lose out on some SEO; but I don't think that's so much of a concern for a forum (where you have a ton of content for search engines to soak up anyway). I think forum/subforum/id is fine.

Apr 28, 2011 at 12:28 AM

So this is how a forum works!

Sorry, just checking how forum reply functionality should work.

May 3, 2011 at 4:18 PM

Hello, it's me again.

My client wants a Forum, is there any chance of Module coming out in 2-3 weeks?

Or should I stop whining and start building it?

May 3, 2011 at 4:26 PM
mataswork wrote:

Hello, it's me again.

My client wants a Forum, is there any chance of Module coming out in 2-3 weeks?

Or should I stop whining and start building it?


I think it will be great to work with someone who may already be building one, perhaps to help finish up faster, so you can everyone can enjoy it in a couple of weeks.

May 3, 2011 at 4:35 PM

I haven't had time to clean up the code to get it ready for the community. If there is someone with a little time that could help with this task, we could speed things up a lot. I only have experience with svn, so would need some help setting up the repository too.

Coordinator
May 3, 2011 at 4:55 PM

Nicholas Mayne (author of AuthModule) is working on it : https://github.com/Jetski5822/Orchard-Forum

 

May 4, 2011 at 6:26 AM
Edited May 4, 2011 at 6:26 AM

It looks like its pretty far along already. I may just switch gears here and start working with that instead of rolling my own. Mine is pretty basic, although I know it works perfectly for my needs.

May 4, 2011 at 1:41 PM
Edited May 4, 2011 at 1:42 PM

if you gonna have problems with forum module from https://github.com/Jetski5822/Orchard-Forum hitting breakpoints,

1.remove forum from modules,

2.go to Orchard.Web ->bin

3. launch Orchard.exe

4. type in codegen module NGM.Forum /IncludeInSolution:true

5. rebuild solution

6. overwrite everything from Jetski5822-Orchard-Forum-e9bdfec (module you downloaded from https://github.com/Jetski5822/Orchard-Forum ) to Orchard.web/Modules/NGM.Forum

7. go to Orchard.web/Modules/NGM.Forum/bin delete everything

8. go to Orchard.web/Modules/NGM.Forum/obj/Debug delete everything

9. go to Visual studio select solution Explorer (window on the right with projects tree) select Modules folder (right mouse button)-> Add Existing project ->  Orchard.web/Modules/NGM.Forum and select NGM.Forum.csproj file

10.  Visual studio select solution Explorer (window on the right with projects tree) expand Modules folder select  NGM.Forum -> properties -> build -> Advanced -> in dropdown select full

11. Run solution

12. Go to http://localhost:30320/OrchardLocal/Admin/Modules/Features enable module Content/Forum

13. breakpointHit ? Spin on Chair clockwise : Spin on Chair couterclockwise;

Developer
May 4, 2011 at 10:15 PM
Edited May 4, 2011 at 11:39 PM

Hey All,

Sorry if you are having problems with making this work... The source code is in flux at the moment as im still trying to get the groundwork down (ive only spent about 7 hours total on it)

You will see more stuff fleshed out over the next week and a half.

I have also noticed a few issues with the project file that I have solved... One which was quite major (my MVC dll was pointing at my GAC not the lib folder) - this would more than likely cause the above mentioned problem :(, the second was a little bit of standardising in the prj file was required.

All contributions and help welcome :) Create a fork.. Makes some changes, and submit!!!

Cheers, Nick

May 21, 2011 at 9:19 AM
Edited May 21, 2011 at 9:21 AM

I could probably lend a hand on this depending on what the intended license will be for the module.

 

(I should also say I'm not sure as to exactly what efforts are ongoing atm in relation to a built in forum as a module for orchard but it's certainly an item that needs addressing for the orchard community.

May 30, 2011 at 7:49 PM

Plz look at http://mesoboard.com/ it's mostly done, it's need only to be remake as plugin.

Developer
May 30, 2011 at 8:16 PM

The thing is that MesoBoard is a fully fledged Forum... Alot of the functionality that exists in Meso Exists as modules already...

Developer
Jun 4, 2011 at 11:19 AM

FYI i have migrated from Git to Codeplex as I prefer Mecurial for the time being http://orchardforums.codeplex.com/

Jun 7, 2011 at 12:07 AM
Jetski5822 wrote:

FYI i have migrated from Git to Codeplex as I prefer Mecurial for the time being http://orchardforums.codeplex.com/

Very nice, good job!

For private perposes i hope to see the forum module being styled a bit.
And functionality like "view unread posts, latest 3,6,12,48 hours etc"

But ofc. first the basics in the 0.01 version of the forum module.

Developer
Aug 2, 2011 at 10:50 PM

hey rfcdejong,

I have done some styling, is there any chance you could take a quick look? (if you have time)

I am still working on the initial feature set.. but as a bare basic forum i think that alot of stuff is there, but just needs to be cleaned up.I am working on the permissions set at the moment

Nick

Developer
Aug 3, 2011 at 10:00 PM
Edited Aug 5, 2011 at 2:12 PM

FYI: Latest Orchard Forum Mock-Ups - http://www.themayneissue.com/memorystream/latest-orchard-forum-mock-up

Feedback welcome :)

Aug 5, 2011 at 2:05 PM
Edited Aug 8, 2011 at 11:38 PM

I'll need to download the latest source and upload it to my (test) site.

I'm kinda busy with private stuff atm, but will try to do it in a few days if i don't forget it :P

2011/8/2 Jetski5822 <notifications@codeplex.com>

From: Jetski5822

hey rfcdejong,

I have done some styling, is there any chance you could take a quick look? (if you have time)

I am still working on the initial feature set.. but as a bare basic forum i think that alot of stuff is there, but just needs to be cleaned up.I am working on the permissions set at the moment

Nick

Read the full discussion online.

To add a post to this discussion, reply to this email (orchard@discussions.codeplex.com)

To start a new discussion for this project, email orchard@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Developer
Aug 5, 2011 at 2:14 PM

Cool thanks Raymond

Aug 5, 2011 at 10:44 PM
Edited Aug 8, 2011 at 11:38 PM

I downloaded it and created a folder NGM.Forum and now i see the forum menu in the admin menu

After creating a forum the url was wrong and i got an error, i didn´t wrote it down so can´t say how to reproduce.
Anyway i´ve it available under http://rfcdejong.nl/forum
Look at the thread "testing".. the short view is a bit strange in the forum overview.
Opening the thread shows the html nicely :)
2011/8/5 Jetski5822 <notifications@codeplex.com>

From: Jetski5822

Cool thanks Raymond

Read the full discussion online.

To add a post to this discussion, reply to this email (orchard@discussions.codeplex.com)

To start a new discussion for this project, email orchard@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Developer
Aug 6, 2011 at 10:06 AM

Hmm the html that is output is different to mine... It seems that this is not being rendered

 D:\Orchard\themayneissue_testbed\src\Orchard.Web\Core\Contents\Views\Content.ControlWrapper.cshtml(4):    <div class="content-control">

Yours...

<li class="first">
   <article class="content-item thread">

</li>


Mine...

<li class="first">
   <div class="content-control">

      <div class="manage-actions">

      <article class="content-item thread">

   </div>
<
/li>

Any ideas? Is your theme changing anything?

Aug 6, 2011 at 12:37 PM
might be... look at the bottom of my theme, it's just a theme that u can download as well from the galary

2011/8/6 Jetski5822 <notifications@codeplex.com>

From: Jetski5822

Hmm the html that is output is different to mine... It seems that this is not being rendered

D:\Orchard\themayneissue_testbed\src\Orchard.Web\Core\Contents\Views\Content.ControlWrapper.cshtml(4):

Yours...

<li class="first">
<article class="content-item thread">

</li>


Mine...

<li class="first">
<div class="content-control">

<div class="manage-actions">

<article class="content-item thread">

</div>
<
/li>

Any ideas? Is your theme changing anything?

Read the full discussion online.

To add a post to this discussion, reply to this email (orchard@discussions.codeplex.com)

To start a new discussion for this project, email orchard@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


Developer
Aug 7, 2011 at 8:44 PM

Okay found out what it was. Within the theme you are using, these styles force it to look 'squished'

.zone-content { width544px; }

#content-wrapper { float: left; }

 

Also this style messes up the header of the threads.

.content-items .content-item header h1 {
    margin-top2.3824em;
}
I can fix this one by forcing the margin to be 0.. but do you think I should be doing this or do you think it should be the theme builders?
Nick
Aug 8, 2011 at 1:07 AM
the theme builders should i suppose

2011/8/7 Jetski5822 <notifications@codeplex.com>

From: Jetski5822

Okay found out what it was. Within the theme you are using, these styles force it to look 'squished'

.zone-content { width: 544px; }

#content-wrapper { float: left; }

Also this style messes up the header of the threads.

.content-items .content-item header h1 {
margin-top: 2.3824em;
}
I can fix this one by forcing the margin to be 0.. but do you think I should be doing this or do you think it should be the theme builders?
Nick

Read the full discussion online.

To add a post to this discussion, reply to this email (orchard@discussions.codeplex.com)

To start a new discussion for this project, email orchard@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com