Need some advice on getting going with Mojo - Very Long post

This forum is only for questions or discussions about working with the mojoPortal source code in Visual Studio, obtaining the source code from the repository, developing custom features, etc. If your question is not along these lines this is not the right forum. Please try to post your question in the appropriate forum.

Please do not post questions about design, CSS, or skinning here. Use the Help With Skins Forum for those questions.

This forum is for discussing mojoPortal development

This forum is only for questions or discussions about working with the mojoPortal source code in Visual Studio, obtaining the source code from the repository, developing custom features, etc. If your question is not along these lines this is not the right forum. Please try to post your question in the appropriate forum.

You can monitor commits to the repository from this page. We also recommend developers to subscribe to email notifications in the developer forum as occasionally important things are announced.

Before posting questions here you might want to review the developer documentation.

Do not post questions about design, CSS, or skinning here. Use the Help With Skins Forum for those questions.
This thread is closed to new posts. You must sign in to post in the forums.
6/6/2008 6:04:14 PM
Gravatar
Total Posts 5

Need some advice on getting going with Mojo - Very Long post

Hello all,

Joe used to be my boss back in the day. He's a heck of a good boss and taught me a lot. Mojo is an amazing project and totally stomps DNN in my opinion. The design is very clean and much more usable IMHO.

So, I'm now looking into using MojoPortal as the basis for several websites. A couple of the sites will be using the same database. However, I've also got several friends who want me to develop websites for them, so I'll also be keeping separate copies for their stuff. Some of my stuff will require custom modules (theirs might require some of the same modules). Anyway, I'd like to keep on the main trunk of Mojo so that I can continue to receive updates (and I might be able to push some of the features I'm developing back to the community). I also work on multiple machines, so I have to be pretty careful about keeping things synchronized.

So, I have my own version control for my own stuff. I'd like to keep my custom development in there, but still pull from the mojo trunk for anything included in the portal. Since I'm using Subversion, I believe I can do this with external references of some sort, but I'm unsure how. I was thinking I could put MojoPortal under its own directory under my root source directory and then pull things down to there (should it be under the same directory as the rest of my source code). Are there any gotchas I need to be aware of here?

Next, how do I need to manage SQL scripts to keep updates to my stuff separate from the main line? Is there any way for the modules to require that a script be run for them to be installed?

Third, how do I need to manage deployment? This stuff will be going to a web host running medium trust, so it looks like I'll have to have separate physcial copies of everything. Is there a good way to do this other than the old batch file? All the sites I'm working on for myself will need to be kept in sync (because I'm lazy and don't want to try to remember which version I'm on at any given time). The sites for other people will need to be kept separate, since clients/friends can create unscheduled emergencies.

Fourth, how do I need to manage my own themes and skins? Is anyone doing this? If so, how did you set it up so that you and Mojo wouldn't step on each other?

Fifth, how do I manage my own automated processes? I see mojo has it's own way of doing this (thank goodness, now I don't have to wait for the web folks at the host to do it), but are there any caveats to having your own automated processes that run under Mojo?

6/7/2008 8:25:29 AM
Gravatar
Total Posts 18439

Re: Need some advice on getting going with Mojo - Very Long post

Hey Will,

I enjoyed having the brief opportunity to take you under my wing when you were fresh out of college. You were a quick study so its no surprise that you would come up with a lot of good questions all pointing to the holes in my developer documentation .

Thanks for prodding me, I've taken a little time this morning to fill in some of those holes.

Cheers,

Joe

Question 1 Managing source control for your project while working with mojoportal from svn trunk:

I just created a page

here

with notes about that.

 

Question 2 Using the mojoPortal Installation with your own features.

I just created this documentation.

Question 3 Deployment

Some of this is covered in the above links and also in the existing deployment documentation. I don't understand what you mean about medium trust requiring separate copies. In medium trust you have to disable a few things and configure differently and delete a few dlls, notes on that here.

Question 4 Managing Skins

Skins are self contained in their own folders. As long as you give your skin folder a good unique name it is very unlikely that mojoportal skins will ever overwrite them. The library of skins avilable when creating new sites in an installation come from the /Data/skins folder and when the site is created they are copied to  /Data/Sites/[SiteID]/skins and these are the ones actually used by the site. You can put your owns site specific custom ones here and they will not be avialble to other sites. Though a mojoportal skin does contain a theme.skin file I recommend you don't ever use that and stick with just css. Styling controls with ASP.NET themes causes a lot of bulky inline style to be rendered in the page and this hurts performance becaue bulkier pages are slower to load.

Question 5 Automated Process and long running tasks

Yes mojoportal does have a framework that makes it easier to build tasks that can run on background threads. I doubt if anyone else is using this as its not been documented until now, but I implemented it for sending emails to the newsletter subscribers. For a long list this task could take a while so it shouldn't run on the same thread as a web page because it will block until it finishes and this would create a bad UI experience. Instead wanted to queue the task on a new thread and allow the current thread to render the page.

6/7/2008 9:43:07 AM
Gravatar
Total Posts 5

Re: Need some advice on getting going with Mojo - Very Long post

Hey Joe,

Wow, that was some awesome response time there.

There was a note here (http://www.mojoportal.com/muliplesites.aspx) that indicated that you had to have separate physical installations to be able to use mojoportal for multiple sites sharing the same database.

6/7/2008 11:24:53 AM
Gravatar
Total Posts 18439

Re: Need some advice on getting going with Mojo - Very Long post

Hey Will,

Oh, now I understand what you mean about separate copies. There are issues with multiple sites in medium trust that can be mitigated with separate physical installations. If it were me I'd just get Full trust hosting. You can get Full Trust at DiscountASP and I also know you can get it at Crystal Tech though not by default, you have to explicitely ask them to move you to a Full Trust server after getting your hosting account.

In medium trust you lose cool features like NeatUpload and support for OpenID authentication both of which are really important features in my book.

I will also say that you "may" be able to get multiple sites working satisfactorily in medium trust with a single installation. I would start with that approach and only go to the mulitiple physical installations if its not satisfactory. I generally stear people toward the separate physical installations to avoid the support hassles of trying to help people run multiple sites in medium trust. The main issues that come to mind are the need for a lucene lockdirecotry setting, but I might try just using the /Data folder as the lock directory instead of Data/Sites/[SiteID]/index folder. It may or may not work doing that buts its something I would try. The other issue is that VirtualPathProviders don't work in medium trust so it will use the theme.skin file from the App_Themes/default folder instead of the one in the skin folder. But because we don't use the theme.skin file for much there is really very little difference in that file from skin to skin so it may not cause any problem. So I would try it with a single physical installation and if it gives you no problems then great, if it does give problems then mitigate them with separate physical installations.

Best,

Joe

6/21/2008 3:20:24 PM
Gravatar
Total Posts 36
Anchorage, Alaska

Re: Need some advice on getting going with Mojo - Very Long post

This discussion answered most of my questions.  I plan to have a site that I will share some of my C# coding ideas.  In studio, the C# code is color coordinated.  Easy there an easy way to copy and paste code and keep the coloring?

6/22/2008 6:12:40 AM
Gravatar
Total Posts 18439

Re: Need some advice on getting going with Mojo - Very Long post

I generally use the Paste As Text toolbar in the editor to remove any formatting for pasting small code samples. For large code samples I recommend using an external html file and just link to the example from your article. A good tool for generating the html to paste into this file is the Copy Source as Html plugin for VS 2008. An example where I've used it to create an html file showing code an article here, see the link in the article that points here, its a plain old html file using content generated from the plugin linked above.

Hope it helps,

Joe

6/22/2008 6:42:21 PM
Gravatar
Total Posts 36
Anchorage, Alaska

Re: Need some advice on getting going with Mojo - Very Long post

I will try that out.  It looks like it should take care of my needs.

6/22/2008 9:35:51 PM
Gravatar
Total Posts 36
Anchorage, Alaska

Re: Need some advice on getting going with Mojo - Very Long post

I find the paste from Word in the editor.  I pasted the C# code into Word and then copied from Word into the Paste from Word in the editor.  The color coding and formatting work perfect.

You must sign in to post in the forums. This thread is closed to new posts.