Hi everyone, I have a rather lengthy suggestion that I feel would immensely improve the IPS product line as a powerful tool for building a site.
I would like to say that I love IPS products. Your forum software is hands down the best I've ever used, and in this latest release you've focused a lot on polishing the little details. However, little details aside, I think there the big picture is missing.
Since IPS specializes in community, this is what my suggestion concerns. Community is also what I specialize in. I've been running various large community sites for the better part of a decade now, and I've learned what is required, at a minimum, to create a community site. I've also learned what IPS products can and can't do with regards to creating a community site. The basics of a community site
1. You need a member system. Forget forums for a second, you need a way for users to register and log in and interact with your site.
2. You need a home page/portal. The overwhelmingly most common thing to make a home page out of, is a news blog. That's it. 99.99% of community sites have news blogs as their home page.
3. You need forums
4. You need a way to create basic content pages (either static content, or user-driven)
The above illustrates that the forums are NOT the "primary app" for the site, they are merely a part of it. The actual focus is on the home page and content, and the forums are there as a place for the community to interact with itself. The problem
IP.Board is the primary framework for the IPS product line, thus by sheer usability/application logic it makes it difficult to treat the forums as merely an application of a larger framework, rather than the framework itself. The result of this is despite having access to IP.Portal, IP.Blog, and IP.Content, it is actually far more difficult to create a home page for the site than it should be. The only way to properly create a "Home" tab that remains active, is to rename one of the application's tabs, hack it out of it's foreach loop in globalTemplate, and then place it BEFORE the forums tab. Just create the tab in System Settings -> General Configuration -> Website Name, then do something like move the index.php from IP.Content/tools to the root directory you say? Nope, that doesn't work. As soon as you click on the new Home tab, all it does is activate the IP.Content tab rather than keep the "Home" tab activated. This is just one example of a larger problem: you don't have REAL control over your navigation without hacking it apart in the template editor. Even still, IP.Content lacks the ability to create multiple tabs in case you want different databases for different tabs.
Additionally, IP.Portal does absolutely nothing. At the very least you would assume that when you enable IP.Portal, it would by default become the "Home" tab and appear before the forums. It also doesn't do anything other than display a bunch of widgets. Why is there no default news blog setting that at the very least allows you to point to a specific forum to make it your news blog? Suggestion
The way I've built my site is I've built a common framework that the forums are merely an application of, not the entire framework itself (though admittedly I use ACP as the hub for controlling non-forum settings, simply because it was easier than building a separate control panel). I have full control over the navigation of the site, I have the ability to set up MULTIPLE portals and MULTIPLE content tabs within each portal (unlike IP.Content, which has one content tab dedicated to the entire application. What if I wanted a separate tab for a separate database?)
Here is a screenshot of my navigation manager. It behaves exactly the way topic polls do: you can add tabs, and then menu items for each tab, exactly like adding questions/options in a poll.
Now, this isn't quite as streamlined as it should be. While I can create new content types via ACP, I can't dynamically build list or display pages out of them unless I modify the core PHP code of my portal engine, and create the appropriate smarty templates to do so, and here is where IPS can shine.
IPS should re-think using the forums as the application framework, and instead strip out all of that functionality and place it into a more powerful, higher level framework called IP.Site. IP.Site would effectively be a combination of
- IP.Portal
- IP.Content
- a navigation manager
- a member database/login system
- the same hooks/applications framework that is currently part of IP.Board.
You would then install IP.Board into this framework as an application, much like you currently install IP.Blog into IP.Board.
The primary goal of IP.Site would be to make it super easy to set up what 99.99% of all community sites have: a news feed/blog as their home page. To do this, the content manager would come with a standard template and database for the very purpose of adding news stories and creating a news archive. You could then build additional databases and content pages as you currently do in IP.Content.
The kicker to this whole system is the control it gives you to organize your content any way you want via a navigation manager. The navigation manager would allow you to assign whichever content types you wanted, to whatever tabs you wanted, and then give you the ability to edit the names of each tab and re-arrange their order. So for example, by default the first tab would be called "Home", and it would reference the various news templates you've created (the news list and news display/details pages). From there, you could do the same for every other kind of content, and easily re-arrange the navigation.
When you install IP.Board, it allows you to do the same thing.
ACP for IP.Site would largely be what it is for IP.Board, minus the forum management. In fact, that's all IP.Board does: gives you forum management. IP.Site would contain all of the member management and user group settings IP.Board does currently.
For users that are not looking to build a site and instead just want a forum, IP.Board can still come with all of the member management tools and a basic portal engine that allows you to use a specific forum as a news feed if you wish. Conclusion/Summary
Currently the IPS product line does not work seamlessly to give users a simple, and easy way to build a proper website (home page, content pages etc). While IP.Board is an amazingly powerful product in itself, the peripheral applications such as IP.Content, IP.Portal, and IP.Blog do not behave the way a proper CMS such as Drupal or Joomla do. Thus any user that is looking to build a website, would be compelled to use those products rather than IPS products.
Where IPS can differentiate itself is a proper site framework/CMS with a member/community backbone. This is something no other CMS does well at the moment. IPS has the community roots, but it lacks a simple and powerful way to build a non forum-based website. A new, central framework (e.g. "IP.Site") would allow people a more effortless way of building a website that is not centered around forums, giving them flexibility in controlling their home page, navigation, content pages, and various other elements. The forums could still be sold as a stand-alone app, but IP.Site itself would be the primary framework that the Boards are a mere application of.
Sorry for the long post, just my thoughts/ideas :)