There are SO MANY exciting new features in XMod Pro 4 that it's hard to pick a favorite! So I think I'll pick a favorite or two and make a post about each of my top favorites. This first one is on one of my favorite time savers and improvement on file and code organization when dealing with multi-portal sites.
There are SO MANY exciting new features in XMod Pro 4 that it's hard to pick a favorite! So I think I'll pick a favorite or two and make a post about each of my top favorites.
-------------------
The Issue -Too Many Portals To Keep Updated
-------------------
As a DNN Integrator, my company produces many websites each year with complex solutions that involve interactions between many XMod Pro modules that have different custom forms and lists and views. The average of 40 to 50 templates and perhaps 15 to 20 forms per website/project is pretty common, the largest recently is around 120 templates. These templates and forms, in turn are spread across many sections of the website on different tabs, with different permissions, etc.
Now, in most cases, these are single websites on a single portal.
BUT, when the solution is to create a website system that plans on using DotNetNuke's perfect ability to host multiple websites across different portals, and part of the solution is that you quickly and easily be able to duplicate a previous portal as a starter for the next new portal, that's when things would get more complicated!
In one example website service/application that we've built with XMP, we have currently 16 portals and keep updated code as current and in sync as we can across four active portals, one staging, and one demo portal. Every time we make a significant new update in one portal, we make it in all of them. We normally keep open 4 or 5 tabs logged into each different site and copy/paste the same edits into each one.
Not counting problems with older DNN and it's ability to create a full portal export with content correctly (with valid xml for import), the problem previously was primarily:
- After creating a new portal and applying a DNN Portal Template (to recreate all pages and setup blank instances of XMP modules), you had to copy all of the same XMP source code files by FTP to the storage location for the particular portal in /Portals/_default/XModPro/...
- Then, any changes that you made to one portal in the site, to update or improve a template or form, you would need to manually update the same code in all of the other portals either by hand (copy/paste) or by updating the files by FTP.
-------------------
The Solution - XMod 4 NEW FEATURE - Global / Portal Level Files
-------------------
The new XMod Pro Help File lists this new feature in short and sweet description:
ADDED: You can make forms and templates accessible to all portals on your website with Global forms and templates.
For me, that's one of the most exciting new features! You begin in the main control panel, where you'll find, in the top right section, a new selector that allows you to switch the control panel listing from showing a view of Portal Level Files or Global Level Files. Switch this view and press GO and you'll see the specific new files that you've made as Global.
Then, when you are configuring an instance of XMod Pro, in the configure screen, you'll see the options to choose between either Portal Level Forms / Templates or Global Level Forms / Templates. By selecting one option or the other, it will deselect the alternate choice. My favorite part about this method of display is that it makes it very easy for you to review both global and portal level templates and forms easily in one place so that, as you build more of each, you can quickly look at both lists to find your files and make your selection!
-------------------
Additional Notes on Global / Portal Level Forms and Templates (and Feeds)
-------------------
- The new location for global files is found in the folder/file structure under a "_global" folder. For example a global form would be found under /Portals/_default/XModPro/Forms/_global
- You can easily take files from one portal's location and copy them into this _global folder
- In the database, the name of an XMod Pro's template/form that is assigned in the configure screen is stored in the ModuleSettings table, you will find the FormPortalId and TemplatePortalId SettingNames, and if they are set to a portal number (0 or above) then they will reference a file for that portal. If it is a global file, then the value is set to "-1". You can use this informaiton to make a copy of all template and form files and move them into the global folder, and then, with an update script in SQL you can CAREFULLY but easily convert the whole portal in one step to using global forms and templates in XMod Pro 4.
- As a last step once you've changed everything in the db, in DNN Host Settings, at the bottom of the screen, click to Clear Cache and then Restart Application Pool.
-------------------
Enjoy The Results
-------------------
I'll be using this on a current project that has 60+ portals and then will go back to make updates on that smaller 16 portal site later this summer. Going forward, I'm excited about starting off new projects and making a decision early in the development process on (1) First whether the project will be multi-portal or not, and then (2) next, to outline the cases where it will be best to make and use global custom forms and templates and where to make custom or special-case ones that are specific to that portal.
-------------------
MooreCreative XMOD Development Blog
-------------------
In the MooreCreative XMOD PRO Development Blog, I'll try to share some of the thoughts and ideas that we've come up with on a day-to-day basis as my development company uses DNN + XMOD PRO to tackle client projects. I'll include items such as tips/tricks, did-you-know articles, troubleshooting/testing examples as well as posting samples solutions and explanations behind our experience working with XMOD and jQuery functions, PageBlaster, ZLDNN Article, and other modules/elements.
If you would like to see us tackle a topic, especially anything out of the forums that could use further examples, please, don't hesitate to email me, and I'll look into preparing it for a blog post.
-------------------